Method: Enumerable#min
- Defined in:
- enum.c
#min ⇒ Object #min {|a, b| ... } ⇒ Object
Returns the object in enum with the minimum value. The first form assumes all objects implement Comparable; the second uses the block to return a <=> b.
a = %w(albatross dog horse)
a.min #=> "albatross"
a.min { |a, b| a.length <=> b.length } #=> "dog"
1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 |
# File 'enum.c', line 1225 static VALUE enum_min(VALUE obj) { NODE *memo = NEW_MEMO(Qundef, 0, 0); VALUE result; if (rb_block_given_p()) { rb_block_call(obj, id_each, 0, 0, min_ii, (VALUE)memo); } else { rb_block_call(obj, id_each, 0, 0, min_i, (VALUE)memo); } result = memo->u1.value; if (result == Qundef) return Qnil; return result; } |