Rubyの関数にハッシュ、文字列、配列、およびシンボルを渡すにはどうすればよいですか? 私はこのようにしてみました:
func key: 'value', 'string', ['some', 'array'], :asymbol
これは動作しません。
ハッシュの後に追加のパラメーターを渡すには、ブラケットを使用する必要があります。これらは、メソッドの最後の引数に対してのみ暗示することができます。
func({key: 'value'}, 'string', ['some', 'array'], :asymbol)
{}
ハッシュの後に他の引数がある場合は、ハッシュが必要です。
# this will work
func({key: 'value'}, 'string', ['some', 'array'], :asymbol)
このため、ハッシュ型がメソッド シグネチャの最後の引数として表示されることは非常に一般的です。最後にハッシュを受け入れるようにメソッドを更新するだけです。
# this will work, too
func 'string', ['some', 'array'], :asymbol, key: 'value'
あなたの構文は悪いです。括弧と括弧を使用してください:
func({key: "val"}, 'str', [1, 2], :sym)
そうしないと、言語が意味不明に見えるだけです。