Hi everyone,
What is the idea behind that the legnth
of a single number is 1 instead of 0? Does anyone know the reason for that design? On the other hand, we have length([:x])==1
, but when typing length(:x)
, we will get the error message:
ERROR: MethodError: no method matching length(::Symbol)
Numbers are iterable in julia. See for example:
julia> for i in 1
@show i
end
i = 1
Therefore having a single number give the correct length it would have if you were to iterate through it makes sense.
See make numbers non-iterable? · Issue #7903 · JuliaLang/julia · GitHub for an old and long discussion of this property.
4 Likes
You might be thinking of the number of dimensions instead. We can check the dimensions (size
or axes
) and count the number (length
of tuple):
julia> length(size(1)), length(size([1]))
(0, 1)
3 Likes