【发布时间】:2012-10-14 16:47:48
【问题描述】:
有没有更好的方法来实现以下目标?将方法列为符号似乎有点笨拙......
此代码对 4 种方法中的每一种都运行 init 之前和 draw 之后。以下代码有效,但是否有更易读或更惯用的方法?
Class DrawMap
def draw_method_1
...
end
def draw_method_2
...
end
def draw_all
[:draw_method_1, :draw_method_2, :draw_method_3, :draw_method_4].each do |method|
init_draw
send method
@draw.draw
end
end
...
Rails 之前和之后的过滤器会做同样的事情,但这不是 Rails 应用程序。
Ruby 1.9.3
【问题讨论】:
-
你可以看看 Rails 的前后代码。
标签: ruby metaprogramming ruby-1.9.3