Ah, yes.. i see now
class A
{
10000 => int foo;
}
class B extends A
{
fun void bar()
{
0 => int foo;
<<< "a", foo >>>;
if (true) {
<<< "b", foo >>>;
}
<<< "c", foo >>>;
}
}
B bobj;
bobj.bar();
indeed.
On Wed, Aug 6, 2014 at 4:51 PM, Ian South-Dickinson <[email protected]>
wrote:
> The bug appears in other inner scopes, such as an if-statement, and
> probably for/while loops.
>
>
> On Wed, Aug 6, 2014 at 7:40 AM, Dealga McArdle <[email protected]> wrote:
>
>> Ian, why do you have that innermost scope? that's not intended use of
>> syntax I think.
>>
>>
>> On Wed, Aug 6, 2014 at 9:00 AM, Ian South-Dickinson <[email protected]
>> > wrote:
>>
>>> I encountered a strange case where a variable was changing value within
>>> the scope of an if statement, because I had a superclass with an identical
>>> variable name. I am able to reproduce it with this simple case:
>>>
>>> class A
>>> {
>>> 10000 => int foo;
>>> }
>>>
>>> class B extends A
>>> {
>>> fun void bar()
>>> {
>>> 0 => int foo;
>>>
>>> <<< "a", foo >>>;
>>> {
>>> <<< "b", foo >>>;
>>> }
>>> <<< "c", foo >>>;
>>> }
>>> }
>>>
>>> Prints out:
>>>
>>> a 0
>>> b 10000
>>> c 0
>>>
>>> _______________________________________________
>>> chuck-users mailing list
>>> [email protected]
>>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>>
>>>
>>
>> _______________________________________________
>> chuck-users mailing list
>> [email protected]
>> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>>
>>
>
> _______________________________________________
> chuck-users mailing list
> [email protected]
> https://lists.cs.princeton.edu/mailman/listinfo/chuck-users
>
>
_______________________________________________
chuck-users mailing list
[email protected]
https://lists.cs.princeton.edu/mailman/listinfo/chuck-users