1

パラメータのネストを次のように定義されたレール関数に渡そうとしています...

def test(*params)
    stuff
end

次を渡すと

test :mark, :was, :here

また

test :mark, :was, :here=>:today

すべて順調。しかし、これを行うと...

test :mark, :was=>:really, :here

エラーがスローされます。私が間違っている手がかりはありますか?

M.

4

1 に答える 1

1

最後の引数がハッシュの場合は中括弧を使用する必要はありませんが、ハッシュが引数リストの最後にない場合は中括弧が必要です。途中で、コンマが次の引数を示しているのか、ハッシュの次の項目を示しているのか、Ruby はわかりません。だからあなたはこれをしなければなりません:

test :mark, {:was=>:really}, :here
于 2012-04-27T06:59:52.823 に答える