管理ruby上的setter和getters方法

时间:2012-07-28 01:54:08

标签: ruby

我正在学习如何以正确的方式在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

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

1 个答案:

答案 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