このコードは配列を取り、一意の値のみを返します。
このコードが機能するために 2 番目の「キープ」が必要なのはなぜですか?? それがないと、次のエラーが発生します。
NoMethodError: 未定義のメソッド `include?' nil:NilClass の場合
class Array
def my_uniq_inject
self.inject([]) do |keep, num|
keep << num unless keep.include?(num)
keep # why is this required?
end
end
end