说我有这个方法
def foo(bar1, bar2)
## code
end
我怎样才能实现代码,以便当我调用 时foo('hello', 'world')
,该foo
方法访问一个哈希,给出:
{
:bar1 => 'hello',
:bar2 => 'world'
}
是否有内置方法的 Ruby(Rails?),或者我该如何编写它?
说我有这个方法
def foo(bar1, bar2)
## code
end
我怎样才能实现代码,以便当我调用 时foo('hello', 'world')
,该foo
方法访问一个哈希,给出:
{
:bar1 => 'hello',
:bar2 => 'world'
}
是否有内置方法的 Ruby(Rails?),或者我该如何编写它?
def foo(bar1, bar2)
{bar1: bar1, bar2: bar2}
end
如果塞尔吉奥提到的是问题的意图,那么
def foo(bar1, bar2)
Hash[method(__method__).parameters.map{|_, k| [k, eval(k.to_s)]}]
end
def foo(bar1, bar2)
names = method(__method__).parameters.map{|e| e[1]}
Hash[names.zip(names.map {|name| eval(name)})]
end
不要那样做。这是丑陋和邪恶的。给我整个上下文,你做错了什么。