我正在学习如何以正确的方式在Ruby上使用方法。我很想知道这是否是处理设置和吸气剂的常用(和建议)方法。
例如,我有一个根据输入设置值的方法,我想通过简单地调用getMyMethod
来调用网站的不同部分,而无需再次调用setter。 / p>
def setMyMethod(value)
if value > 10
result = 'is over 10!'
else
result = 'is below 10'
end
@methodValue = result
return @methodValue
end
get getMyMethod
return @methodValue
end
这是从方法设置和检索值的正确方法吗?
答案 0 :(得分:4)
红宝石的方式是
def instance_var=(value)
if value > 10
result = 'is over 10!'
else
result = 'is below 10'
end
@instance_var = result # no need for return. In ruby the evaluated value of last line is always returned
end
def instance_var
@instance_var
end
也许您应该阅读类似http://juixe.com/techknow/index.php/2007/01/22/ruby-class-tutorial/
的内容你也可以轻松地避免5行if语句和一个变量。
def instance_var=(value)
@instance_var = value > 10 ? 'is over 10!' : 'is below 10'
end
def instance_var
@instance_var
end