*I'm having this kind of problem in different situations. Another example:*

julia> groups_1 = [Array((Int),0) for i=1:K]
5-element Array{Array{Int64,1},1}:
 []
 []
 []
 []
 []

julia> groups_1[size(groups_1[i],1) .!= 0 for i=1:size(groups_1,1)]
ERROR: `Array{T,N}` has no method matching 
Array{T,N}(::Array{Array{Int64,1},1}, ::Int64)
 in anonymous at no file

*The workaround:*
julia> not_empty = [size(groups_1[i],1) .!= 0 for i=1:size(groups_1,1)]
5-element Array{Any,1}:
 false
 false
 false
 false
 false

julia> not_empty = convert( Array{Bool,1}, not_empty)
5-element Array{Bool,1}:
 false
 false
 false
 false
 false

julia> groups_1 = groups_1[not_empty]
0-element Array{Array{Int64,1},1}

On Friday, October 16, 2015 at 3:58:19 PM UTC-3, Steven G. Johnson wrote:
>
>
>
> On Friday, October 16, 2015 at 1:55:19 PM UTC-4, Andras Niedermayer wrote:
>>
>> You can also use `map`, which is better at type inference:
>>
>> julia> M=10
>> 10
>>
>> julia> [[i] for i=1:M]
>> 10-element Array{Any,1}:
>>
>
> As usual, type inference is much better if you don't run it in global 
> scope (that's why your "map" example worked better):
>
> julia> *f(M) = [[i] for i=1:M]*
>
> f (generic function with 1 method)
>
>
> julia> *f(10)*
>
> 10-element Array{Array{Int64,1},1}:
>
>  [1] 
>
>  [2] 
>
>  [3] 
>
>  [4] 
>
>  [5] 
>
>  [6] 
>
>  [7] 
>
>  [8] 
>
>  [9] 
>  [10] 
>
>

Reply via email to