gpt4 book ai didi

ruby - 在 ruby​​ 上管理 setter 和 getter 方法

转载 作者:太空宇宙 更新时间:2023-11-03 17:56:58 25 4
gpt4 key购买 nike

我正在学习如何以正确的方式在 Ruby 上使用方法。我很想知道这是否是处理设置和 setter/getter 的常见(和建议)方法。

例如,我有一个根据输入设置值的方法,我想通过简单地调用 getMyMethod 来调用网站不同部分的结果,而不需要调用 setter再次。

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

这是从方法中设置和检索值的正确方法吗?

最佳答案

ruby 的方式是

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

关于ruby - 在 ruby​​ 上管理 setter 和 getter 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11697604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com