-1

Rubyでフィルターを作成するにはどうすればよいですか? 関数が既に Rails に存在することは知っていますが、Ruby プログラムでどのようにコーディングすればよいでしょうか? プログラムは次のとおりです。

module Filter
  def before_filter *args   
  end
  def after_filter *args  
  end 
end  

class Ingredient  
  def one
    puts "in one"
  end

  def two
    puts "in two"
  end

  def three
    puts "in three"
  end

  def four
    puts "in four"
  end

  extend Filter

  before_filter :one, :two 
  after_filter :four
end

dish1 = Ingredient.new 
dish1.three
4

1 に答える 1

1

Rails は、メソッドの呼び出し方法を制御するため、これを回避できます。しかし、ここでは、外部から 3 つを直接呼び出しています。

あなたが提示した制約に収まるように、これを行うコードはまったくグロテスクになります。また、アフターフィルターは何をしますか?戻り値を決定しますか?

私はこれに似たものを実装しましたが、わずかに異なるインターフェイスを使用して、グロテスクさの一部を節約していますが、それでもひどいものです。https://gist.github.com/3450271

さらに、なぜそのようなものが必要なのかという明らかな疑問があります。

于 2012-09-07T07:42:10.493 に答える