0
Например, я могу создать массив, содержащий функцию.Как добавить функцию к массиву?
julia> a(x) = x + 1
>> a (generic function with 1 method)
julia> [a]
>> 1-element Array{#a,1}:
a
Но я не могу показаться, чтобы добавить функцию в пустой массив:
julia> append!([],a)
>> ERROR: MethodError: no method matching length(::#a)
Closest candidates are:
length(::SimpleVector) at essentials.jl:168
length(::Base.MethodList) at reflection.jl:256
length(::MethodTable) at reflection.jl:322
...
in _append!(::Array{Any,1}, ::Base.HasLength, ::Function) at .\collections.jl:25
in append!(::Array{Any,1}, ::Function) at .\collections.jl:21
Что я ulimately хочу сделать, это сохранить заранее определенные функции, так что я в конечном итоге может отобразить их более ценность. Например .:
x = 0.0
for each fn in vec
x = x + fn(x)
end
Второй параметр [ '' Append] (Http: //docs.julialang. org/en/release-0.5/stdlib/collections /? highlight = append # Base.append!) - это коллекция. Вы можете использовать 'push! ([], A)' для отдельных элементов или 'append! ([], [A])' для коллекции – Gomiero