1

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

例如,我有一个根据输入设置值的方法,我想通过简单地调用来在站点的不同部分调用结果,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

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

4

1 回答 1

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
于 2012-07-28T02:28:41.353 回答