Tambourine作業メモ

主にスキル習得のためにやった作業のメモ。他人には基本的に無用のものです。

後輩が「RubyにC#のSingleOrDefaultがあると便利かなあ」というので作ってみた

別に要らない気がする

>> module Enumerable
>>   @defalt_val = nil
>>   attr_accessor :defalt_val
>>   def single_or_default
>>     self.one? ? self.first : @defalt_val
>>   end
>> end
=> nil
>> a = [1]
=> [1]
>> a.single_or_default
=> 1
>> a += [2,3]
=> [1, 2, 3]
>> a.single_or_default
=> nil
>> a.defalt_val = 0
=> 0
>> a.single_or_default
=> 0