1

Rubyの関数にハッシュ、文字列、配列、およびシンボルを渡すにはどうすればよいですか? 私はこのようにしてみました:

func key: 'value', 'string', ['some', 'array'], :asymbol

これは動作しません。

4

3 に答える 3

3

ハッシュの後に追加のパラメーターを渡すには、ブラケットを使用する必要があります。これらは、メソッドの最後の引数に対してのみ暗示することができます。

func({key: 'value'}, 'string', ['some', 'array'], :asymbol)
于 2012-12-31T15:25:20.763 に答える
1

{}ハッシュの後に他の引数がある場合は、ハッシュが必要です。

# this will work
func({key: 'value'}, 'string', ['some', 'array'], :asymbol)

このため、ハッシュ型がメソッド シグネチャの最後の引数として表示されることは非常に一般的です。最後にハッシュを受け入れるようにメソッドを更新するだけです。

# this will work, too
func 'string', ['some', 'array'], :asymbol, key: 'value'
于 2012-12-31T15:26:48.267 に答える
0

あなたの構文は悪いです。括弧と括弧を使用してください:

func({key: "val"}, 'str', [1, 2], :sym)

そうしないと、言語が意味不明に見えるだけです。

于 2012-12-31T15:28:17.763 に答える