Citat:
Originalno napisao ivanhoe
gde je val() funkcija:
|
Kôd:
def val *a
a.find{|m| !m.nil?}
end
Kôd:
>> val
=> nil
>> val 1
=> 1
>> val nil, 1
=> 1
>> val nil, false, 1
=> false
A, što da ne, mogu i da je ugradim u modul Enumerable:
Kôd:
module Enumerable
def first_not_nil
find{|m| !m.nil?}
end
end
Pa će tako svaki npr. niz dobiti ovu metodu:
Kôd:
>> [].first_not_nil
=> nil
>> [1].first_not_nil
=> 1
>> [nil, 1].first_not_nil
=> 1
>> [nil, false, 1].first_not_nil
=> false