1

私はRubyのメソッドを正しい方法で使用することについて学んでいます。これが設定とゲッターを処理するための一般的な(そして提案された)アプローチであるかどうかを知りたいです。

たとえば、入力に応じて値を設定するメソッドがありgetMyMethod、セッターを再度呼び出すことなく、次のように呼び出すだけで、サイトのさまざまな部分で結果を呼び出したいと思います。

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ステートメントと1つの変数を簡単に回避できます。

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 に答える