要求:
- 描述
hash_selector
- 应接受散列和任意数量的附加参数
- 应返回一个新的哈希值,其中包含作为附加参数传入的原始哈希值的键
- 当没有传递其他参数时,返回原始哈希值
我目前的解决方案是:
def hash_selector(hash, *args)
new_hash = {}
args.each do |arg|
if hash.has_key?(arg)
new_hash[arg] = hash[arg]
end
end
new_hash
end
它返回new_hash
,但我不知道如何编写它,所以当没有传递args
时,它返回原始哈希。
3条答案
按热度按时间rta7y2nd1#
我将添加以下内容作为方法的第一行:
a1o7rhls2#
我知道这可能是一个家庭作业练习,但它是一个非常复杂和非Rubyesque的方式做什么
Hash#slice
在一个单一的方法调用。这是以下内容的缩写:
koaltpgm3#
在函数的开头添加下面一行。