I see that you change the type of y, but you do that before using the list 
comprehension.  I still don't get why [y[1] for i = 1] should give a 
different result than [y[1]] when used in the same conditions.

W dniu czwartek, 17 kwietnia 2014 16:56:28 UTC+2 użytkownik John Myles 
White napisał:
>
> y = [1]
>
> y = [1.0]
>
> [y[1] for i = 1]
>
> On Apr 17, 2014, at 7:44 AM, Paweł Biernat <[email protected]<javascript:>> 
> wrote:
>
> Can you elaborate on that?  How can you change the type of y in my example?
>
> W dniu czwartek, 17 kwietnia 2014 16:38:48 UTC+2 użytkownik John Myles 
> White napisał:
>>
>> Because list comprehensions in the global scope can't be sure that you 
>> aren't changing the type of y along the way.
>>
>>  -- John
>>
>> On Apr 17, 2014, at 7:37 AM, Paweł Biernat <[email protected]> wrote:
>>
>> Could someone please explain to me the difference between the two cases?
>>
>> julia> y=[1]
>> 1-element Array{Int64,1}:
>>  1
>>
>> julia> [y[1] for i=1]
>> 1-element Array{Any,1}:
>>  1
>>
>> julia> [y[1]]
>> 1-element Array{Int64,1}:
>>  1
>>
>> In particular, why is in the first case the element type is Any, but in 
>> the second case it is Int64?
>>
>>
>>
>

Reply via email to