0 ruby arrays hash ruby-on-rails
使用Ruby,如果我有一个哈希,检查它是否有来自字符串数组的键的最快方法是什么?所以我能做到这一点
has_key = false
arr_of_strings.each do |str|
if my_hash.has_key?(str)
has_key = true
break
end
end
Run Code Online (Sandbox Code Playgroud)
但对于这样一个简单的查询来说,似乎有太多代码行.
就这么简单:
arr_of_strings.any? {|s| my_hash.key?(s) }
Run Code Online (Sandbox Code Playgroud)
或者,为巧妙但不易读的代码获得奖励积分:
arr_of_strings.any?(&my_hash.method(:key?)) # => true
Run Code Online (Sandbox Code Playgroud)