🗂
Grow.rbのmy_reject問題を解いてみる
Grow.rbとは:
Ruby力を高めたいRubyistたちが、コードを書いたりちょっとマニアックな内容を学んだりするコミュニティです。
オリジナルのmy_reject
メソッドを作ってみようというテーマです。
テストコードはこちら。
書いた回答がこちら。each
のみを使う縛り。
module Enumerable
def my_reject
result = []
each do |i|
result << i unless yield(i)
end
result
end
end
reject
はブロックの評価が真となった要素を省くメソッド。なのでunless
を使い、yield(i)
の結果が偽となる場合の要素を配列に入れて返す。
Discussion