Perhaps I'm being naive, but is there anything wrong with findfirst?
http://docs.julialang.org/en/release-0.3/stdlib/arrays/#Base.findfirst
function findoradd(A::Array{Int64, 1}, value::Int64)
if findfirst(A, value) > 0
return findfirst(A, value)
else
push!(A, value)
return length(A)
end
end
Though I don't know how well the above would work for arrays of bytes, or
how it performs compared to a dictionary.
On Monday, May 18, 2015 at 4:46:28 PM UTC-4, Scott Jones wrote:
>
> I would like to be able to do the following in Julia:
> Take a UInt64 (or UInt128, for that matter), and add it to an array, if it
> is not already present, returning the index.
> (This would be trivial in the language I used to work on, and I think it
> probably is in Julia as well, but I haven't found the right data structure
> yet...)
> What would be the best performing way of handling that?
> What if, instead of an UInt64 or UInt128, I had an array of bytes (like
> 128 or 256)? What would be the best way for that?
>
> Thanks, Scott
>