[Gambas-user] Removing / Modifying IsXXXX() functions in Gambas 3
Bruce Bruen
bbruen at ...2308...
Wed Nov 24 14:10:55 CET 2010
On Wed, 24 Nov 2010 09:38:34 pm Benoît Minisini wrote:
> Hi,
>
> I'm currently thinking about modifying/removing all IsXXXX() functions in
> Gambas 3.
>
> They mainly test the datatype of their expression. So, either the datatype
> is known at compile time, and there should be no need of testing it ;
> either you are using a Variant, and you can use TypeOf() to get the
> datatype of the value.
>
> I will replace them by some functions that will test if a value can be
> converted safely from a string by using localization. This is what most
> users expected from these functions.
>
> For exemple, in french localization:
>
> IsDate("13/2/20") -> True
> IsNumber("3,34") -> True
> IsInteger("3,34") -> False
> IsNumber("3.34") -> False
>
> Internally, they will use Val() and see if the conversion works.
>
> I will kept most of the name, so there will be a big incompatibility
> between Gambas 2, current Gambas 3, and final Gambas 3.
>
> What do you think about that?
>
> Who is using the IsXXXX() functions, and in which context?
Benoît,
MAJOR PANIC! I use IsNumber extensively to do quick checks on field parsing
across heterogeneous databases. Using the 80-20 rule I can parse text fields
for junk appendices to an expected numeric.
Code such as
vItem=split(result!note," ",NULL,TRUE)[0]
IF IsNumber(vItem) THEN RETURN Val(vItem)
' else begin parsing diabolical note structure
.....
abounds.
Please reconsider this.
--
best regards
Bruce Bruen
More information about the User
mailing list