[Gambas-user] Newbie question * 3
Benoit Minisini
gambas at ...1...
Tue Jan 3 10:23:52 CET 2006
On Tuesday 03 January 2006 02:58, karl at ...1303... wrote:
> Hi All,
>
> I've got a few queries for you guys:
>
> My System:
> AMD 2700+
> 1Gig RAM
> Running SuSe 10.0
>
> Gambas 'Release' v1.0.11-0
> Gambas 'Devel' v1.9.21-0
> Both are the current SuSe builds from:
> ftp://ftp.gwdg.de/pub/linux/misc/suser-gbv/rpms/
>
> 1) It seems that the release version of Gambas does not trim
> trailing whitespace from lines whereas the devel version does. How
> can I stop the devel version from doing this? (in most cases it's
> there for a reason! :-) )
Why do you want whitespaces at the end of lines?
>
> 2) Gambas seems to evaluate logical AND statements in a 'VB like'
> fashion rather than an 'other languages' kind of way. By this I mean
> that it evaluates both operands even if the first is false (and
> therefore the whole must be false). The result is that you end up
> with blocks of code nested more deeply than should be necessary. In
> the following example the inner conditional block is necessary
> because if colAttendee.Current.Selected is read while there is no
> selected item, an error is raised. Please note I'm just using this as
> a demonstration of what I mean by 'more deeply nested'.
>
> Eg:
> case a (current gambas))
> DIM colAttendee AS ColumnView
> IF colAttendee.Count > 0 THEN
> IF colAttendee.Current.Selected = TRUE THEN
> ' Do more things
> END IF
> END IF
>
> case b ('ideal'))
> DIM colAttendee AS ColumnView
> IF colAttendee.Count > 0 AND colAttendee.Current.Selected = TRUE THEN
> ' Do more things
> END IF
>
> My query is: Is this the expected behaviour, and if so, are there any
> plans to ever make AND not evaluate it's right operand if the left is
> false?
This is the expected behaviour. But you have an 'AND IF' / 'OF IF' syntax that
does what you want. Look the 'IF' page in the documentation for more details.
>
> 3) The following code raises an error (and displays the "got foo"
> message) in my release version of gambas (as you might expect :-) ),
> but none is raised in the devel version. Is this a bug, or am I
> doing something wrong?
>
> PUBLIC SUB Form_Open()
> TRY foobar()
> IF ERROR THEN Message("got foo")
> END
>
> PUBLIC FUNCTION foobar() AS Boolean
> Error.Raise("foo")
> END
>
Cough! This is a bug... I will check it.
Regards,
--
Benoit Minisini
More information about the User
mailing list