【发布时间】:2020-02-14 08:48:45
【问题描述】:
考虑两个函数
def bar()
return 1,2
end
def foo(a,b)
puts %{#{a},#{b}}
end
我希望能够使用显式参数(例如foo(3,4))以及bar(例如foo(bar))返回的参数调用foo。
不幸的是,第二次调用产生了 ArgumentError:“参数数量错误(给定 1,预期为 2)”。
声明 foo() 获取一个元组 (def foo(c); a,b = c; puts %{#{a},#{b}}; end) 也不起作用,因为这样第一个调用参数会引发 ArgumentError。
我想定义foo 来获取哈希:
def foo(c)
a,b = c['a'],c['b']
puts %{#{a},#{b}}
end
但这使得使用显式参数相当不方便。与数组相同。
解决这个问题的 Ruby 式方法是什么?
【问题讨论】: