【发布时间】:2008-10-13 14:06:34
【问题描述】:
我想检查写入器访问器。我的第一个想法是返回一个布尔值。
class MyClass
def var=(var)
@var = var
# some checking
return true
end
end
m = MyClass.new
retval = (m.var = 'foo')
=> "foo"
我可以在写入访问器中设置返回值吗?如果是,我怎样才能得到这个值?
【问题讨论】:
-
你能提供一个什么样的检查的例子吗?我对你的意思有点迷茫。但我有一种预感,这很有可能,只是需要澄清一下。
-
仅仅因为某事是可能的并不意味着它是一个好主意。 ;)
-
引发异常绝对是 ruby 方法。
-
您似乎要求的内容可能会变得不直观,而不是 Ruby 方式。您可以通过使用您的表单向自己证明这一点,然后在一些代码中使用它。是的,你会知道你必须以不同的方式做事,但是当你编写代码时,你应该注意它是否感觉像其他 Ruby 方法。如果感觉不一样,那就不要这样做。语言中的一致行为非常重要,并且延伸到我们如何编写自己的代码。