About the following code:
f(x) = 2x + 1
g(x) = x^2
h(x) = x^3
I = [f, g, h]
J = Array{Function, 2}(undef, 3, 3)
for i ∈ 1:3
for j ∈ 1:3
J[i, j] = I[i] ∘ I[j]
end
end
display(J)
I get:
3×3 Array{Function,2}:
#62 #62 #62
#62 #62 #62
#62 #62 #62
Everything works fine and I can use any of the functions in the array, obtaining the expected evaluations, for example:
julia> J[1,2](5)
51
But why a #62
when displaying the J
array or its elements? Just curious about it:
julia> J[1,2]
#62 (generic function with 1 method)
Or in more detail:
julia> println(J)
Function[Base.var"#62#63"{typeof(f),typeof(f)}(f, f) Base.var"#62#63"{typeof(f),typeof(g)}(f, g) Base.var"#62#63"{typeof(f),typeof(h)}(f, h); Base.var"#62#63"{typeof(g),typeof(f)}(g, f) Base.var"#62#63"{typeof(g),typeof(g)}(g, g) Base.var"#62#63"{typeof(g),typeof(h)}(g, h); Base.var"#62#63"{typeof(h),typeof(f)}(h, f) Base.var"#62#63"{typeof(h),typeof(g)}(h, g) Base.var"#62#63"{typeof(h),typeof(h)}(h, h)]