全新朱莉婭矢量/陣列的類型 - 所以我的簡單的問題道歉,簡直似乎無法找到任何地方的答案:指定包含任意數量
我想創建一個函數,它接受一個矢量作爲參數,但強制該矢量包含數字(浮點數或整數)。
我覺得這應該寫成:
function foo(x::Vector{Number})
return x.^2
end
但運行此與foo([5.0])
產生
ERROR: MethodError: no method matching foo(::Array{Float64,1})
Closest candidates are:
foo(::Array{Number,1}) at REPL[16]:2
這是爲什麼?我不想訴諸於x::Vector
,這將工作,但不提供我想要的類型檢查執行。
DNF的答案是正確的,但是請注意,除非您有其他充足的理由,否則最好將'AbstractVector'用於函數參數類型,而不是'Vector'。例如,答案中的代碼將在'foo(1:4)'上失敗。 –