No registered users in community xowiki
in last 10 minutes
in last 10 minutes
Re: [Xotcl] Very severe limitation in XOTcl
From: Gustaf Neumann <neumann_at_wu-wien.ac.at>
Date: Thu, 05 Aug 2010 11:11:59 +0200
Am 05.08.10 10:38, schrieb Kristoffer Lawson:
> Yes, this is also true for setting a parameter:
>
> Car new -doors $amount
>
> If $amount contains a dash, it'll do a method call.
>
Well, "contains" is too strong,
"starts with a dash followed by alpha" is precise.
With XOTcl 2.0 (as now in git) the following cases work as expected
package req XOTcl 2.0; namespace import ::xotcl::*
Class Car -parameter {{doors 4}}
Car c1 -doors -2
Car c2 -doors a-b
Car c3 -doors -b
with XOTcl 0|1.*, case "c3" was leading to the problem.
With XOTcl 2.0, one would most probably use
Class Car -parameter {{doors:integer 4}}
Car c1 -doors -2
Car c2 -doors a-b
to trigger an error on "c2", or better define your own checker "posint"
Class Car -parameter {{doors:posint 4}}
to get already errors on c1.
-gustaf
Date: Thu, 05 Aug 2010 11:11:59 +0200
Am 05.08.10 10:38, schrieb Kristoffer Lawson:
> Yes, this is also true for setting a parameter:
>
> Car new -doors $amount
>
> If $amount contains a dash, it'll do a method call.
>
Well, "contains" is too strong,
"starts with a dash followed by alpha" is precise.
With XOTcl 2.0 (as now in git) the following cases work as expected
package req XOTcl 2.0; namespace import ::xotcl::*
Class Car -parameter {{doors 4}}
Car c1 -doors -2
Car c2 -doors a-b
Car c3 -doors -b
with XOTcl 0|1.*, case "c3" was leading to the problem.
With XOTcl 2.0, one would most probably use
Class Car -parameter {{doors:integer 4}}
Car c1 -doors -2
Car c2 -doors a-b
to trigger an error on "c2", or better define your own checker "posint"
Class Car -parameter {{doors:posint 4}}
to get already errors on c1.
-gustaf