Thanks. I had tried variations about this theme but expecting that the '=='
operator would expand for the number of elements.
quinta-feira, 10 de Setembro de 2015 às 02:27:11 UTC+1, Luke Stagner
escreveu:
>
> Firstly, instead of using ```symbol("is_continuous")``` you can use the
> colon notation ```:is_continuous```. Secondly, you can do element wise
> comparison by using ```.==``` operator. This will return a BitArray. You
> can then find where the BitArray is true by using the ```find``` function
> which returns an array of indices.
>
> So for your case all you would need to do is
> ```
> index = find(fn .== :is_continuous)
> ```
>
> On Wednesday, September 9, 2015 at 6:01:47 PM UTC-7, J Luis wrote:
>>
>> So I need to find position of a certain type member in a type. Easy, I
>> though
>>
>> julia> fn = fieldnames(GMT_PALETTE)
>> 9-element Array{Symbol,1}:
>> :n_headers
>> :n_colors
>> :alloc_level
>> :auto_scale
>> :model
>> :is_gray
>> :is_bw
>> :is_continuous
>> :z_unit_to_meter
>>
>> julia> search(fn,"is_continuous")
>> ERROR: MethodError: `search` has no method matching
>> search(::Array{Symbol,1}, ::ASCIIString)
>> Closest candidates are:
>> search(::AbstractString, ::AbstractString)
>> search(::AbstractString, ::AbstractString, ::Integer)
>>
>> Went to the docs and found the "symbol" function and though, ok now it
>> will work
>>
>> julia> search(fn,symbol("is_continuous"))
>> ERROR: MethodError: `search` has no method matching
>> search(::Array{Symbol,1}, ::Symbol)
>>
>> Ok, I can do a loop over the number of elements and ask
>>
>> fn[k] == symbol("is_continuous")
>>
>> but isn't there a more compact way of do this ?
>>
>> (I confess this parts of Julia are annoying)
>>
>> Thanks
>>
>