find(ifnone = nil) { |obj| block } → obj or nil
find(ifnone = nil) → an_enumerator
将enum中的每个条目传递给block。返回第一个不为假的块。如果没有对象匹配,则调用ifnone并在指定时返回其结果,否则返回
nil
。
但是,当它在 Hash 上调用时,结果已经将类型更改为 Array 而不是原来的 Hash。
是关于这个数据类型的一些实现错误还是一些历史约定?
{a: 'a', b:'b'}.find {|k, v| v == 'b'}
# => [:b, 'b']