> On Mar 1, 2016, at 3:58 PM, Peter TB Brett <peter.br...@livecode.com> wrote:
> 
> On 01/03/2016 20:44, Stephen MacLean wrote:
>> Hi All,
>> 
>> I’m looking for some help on complex statements in LCB.
>> 
>> I’m trying to take a script statement like this:
>> 
>> if (char x of tCardNum)*2 > 9 then
> 
> Hi Stephen,
> 
> Don't forget that LCB is strongly typed.  That means that a string isn't a 
> number, so you can't multiply it!
> 
> The expression "char x of tCardNum" evaluates to a string that's one 
> character long.  If "tCardNum" has fewer than "x" characters, then it throws 
> an error.
> 
> If the character is expected to be the string representation of a number, 
> then you probably want to explicitly convert it to a number:
> 
>   variable tNum as Number
>   put (char x of tCardNum) parsed as number into tNum
>   if 9 < 2 * tNum then
>      ...
>   end if
> 
>                                           Peter

Hi Peter,

Thanks:) Being strongly typed has it’s plusses and minuses. I was hoping to 
avoid “parsed as number” by using the “any” type.

It looks like that when you have a variable in LCB with a type of “any” and 
perform an action on it, it becomes that type. So perform “put the number of 
chars in tCardNum into tLen” and tCardNum becomes a string type. Do "put 0 into 
tCheckSum” and tCheckSum becomes a number.

I'll give it a go. While I could just wrap the whole thing up and execute it as 
a script, I’m really trying to do as much as possible in LCB to learn.

Thanks so much!

Best,

Steve MacLean

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to