2

複数のディスパッチ + パラメトリック型について何かを見逃したようです:

Integer はすべての整数型の抽象スーパータイプであるため、メソッドf(arg::Integer)は期待どおりに機能します。

f(arg::Integer) = println("an integer")
# f(42) prints "an integer"
# f(UInt8(42)) prints "an integer"

しかし、引数の型として 1 次元の整数配列を使用して同じことを試みると、julia はエラー メッセージで応答します。

f(arg::Array{Integer, 1}) = println("an array with integers")
f(arg::Array{Signed, 1}) = println("an array with signed integers")
# f([1,2,3]) gives "no method matching f(::Array{Int64,1})..."

ここで何が間違っているのですか?- 前もって感謝します!

4

1 に答える 1