Try sending inspect to the object and see what you get. Mark Guzdial
a) The "," gets printed out because of the fact that there is no space between 'ghi','jkl'. I assume that when creating an array the delimiter is a blank space (to separate tokens), so since there isn't a blank present (and also since the two inner ''don't get recognized because of the two outer ''), the "," is a part of that one string.
c) When i ran the code Hello printed out an infinite number of times.
a. There are 5 elements in the array: 'abc' 'def' 'ghi' , 'jkl' with comma being one of the elements.
b. 5 times - 5 elements in the array
c. Infinite number of times because the i variable in the block is different from the outside i. Therefore, the loop condition is always true.
I think that it has nothing to do with variable scope... test is defined as true because that is the result of the expression (i 10) on the first (and only) time it is evaluated.