4

このコードは、引数として、およびArray::[]を呼び出します。123

Array[1, 2, 3] #=> [1, 2, 3]

しかし、これは呼び出していないようですArray::[]

[1, 2, 3] #=> [1, 2, 3]

[...]では、 Rubyで呼び出されるメソッドはどれですか?

動機:テストでメソッドをスタブ化しようとしています。

4

1 に答える 1

5

これは、配列のリテラル構文です。メッセージ送信ではありません。Rubyは、他の大多数の言語と同様に、リテラルのオーバーロードを許可していません。

文字通りのオーバーロードが必要な場合は、Iokeなどのそれをサポートする言語を使用する必要があります。

于 2012-09-25T16:14:43.403 に答える