Method: Enumerable::Arguments#find
- Defined in:
- lib/supplemental/facets/enumargs.rb
#find(*args, &yld) ⇒ Object Also known as: detect
Make exception for #find (a negative arity method) to accept keyword argument.
ObjectSpace.find(Class, :ifnone=>lambda{1}) { |e| ... }
ObjectSpace.find(Class, :ifnone=>lambda{1}) { |e| ... }
94 95 96 97 98 99 100 101 102 |
# File 'lib/supplemental/facets/enumargs.rb', line 94 def find(*args, &yld) # future use **keys ? if Hash === args.last and args.last.key?(:ifnone) ifnone = args.last.delete(:ifnone) args.pop if args.last.empty? enum_for(:each, *args).find( ifnone, &yld ) else enum_for(:each, *args).find( &yld ) end end |