0

ルビー初心者です!次のことをしたいだけです:

module Functional
  def filter
  end
end

class Array
  include Functional
  def filter
  end
end

a = [1, -2, 3, 7, 8]
puts a.filter{|x| x>0}.inspect      # ==>Prints out positive numbers

Array のメソッド "filter" を変更するにはどうすればよいですか? 誰でも私を助けることができますか?ありがとうございました

4

2 に答える 2

1

あなたが探しているのはこれだと思います:

module Functional
  def filter
    return self.select{ |i| i > 0 }
  end
end

class Array
  include Functional
end

a = [1, -2, 3, 7, 8]
puts a.filter{|x| x>0}.inspect      
#=>[1, 3, 7, 8]

使用するだけで問題を回避できると思いますがselect、再実装する必要はありません。

于 2013-11-14T05:32:03.937 に答える