最後の項目として渡すことができるオプションのハッシュを持つ vararg を取る関数があります。
def func(*args)
options = args.last.is_a?(Hash) ? args.pop : {}
items = args
end
配列があり、ハッシュも渡したい場合、この関数をどのように呼び出すのですか?
x = [ "one", "two", "three" ]
....
func(*x, :on => "yes") # doesn't work, i get SyntaxError
SyntaxError メッセージは次のとおりです。
syntax error, unexpected tSYMBEG, expecting tAMPER
fun(*x, :on => "yes")
Ruby v1.8.7 を実行しています。