【发布时间】:2012-01-09 07:09:54
【问题描述】:
我正在尝试干掉一些代码,我觉得 Ruby 的变量赋值必须提供一种简化它的方法。我有一个定义了许多不同实例变量的类。其中一些旨在隐藏(或只读),但许多是公开的,具有读/写访问权限。
对于所有具有公共写访问权限的变量,我想在每次赋值后执行某种方法。我知道,一般来说,我可以这样做:
def foo=(new_foo)
@foo = new_foo
post_process(@foo)
end
def bar=(new_bar)
@bar = new_bar
post_process(@foo)
end
但是,似乎应该有一个很好的方法来干燥它,因为我在每次赋值后都在做基本上相同的事情(即运行相同的方法,并将新分配的变量作为参数传递给那个方法)。因为我有很多这样的变量,所以有一个通用的解决方案会很棒。
【问题讨论】:
标签: ruby variable-assignment dry