0

Ruby でプログラミングを始めたばかりの私は、言語の小さな機能に本当に苦労していることに気付きました。大文字で始まる変数は、自動的に定数になります。

これは設計によるものであり、ほとんどの場合に役立つことは理解していますが、アルゴリズムを書き始めると問題になります。つまり、変数間の効率的かつ簡単な区別を必要とするコードを意味しnますN

これは非常に単純な例です (完全に有効な/ルビ風のコードではないことは承知していますが、私の要点を示していることを願っています):

def average(array)
  N = 0
  array.each { |n| N += n }
  N/array.length.to_f
end

もう 1 つの例は下付き文字です。たとえば、物理の問題で計算を行っているときに、F_frictionおよびF_weightがあると便利ですが、Ruby では不可能です。

問題は、これらの変数名を処理する受け入れられた方法があるかどうかです。

4

1 に答える 1

5

通常、解決策は、より意味のある名前を選択することです。例えば

def average(values)
  total = 0
  values.each { |value| total += value }
  total/values.length.to_f
end

なぜF_weight役に立つのか。FはフォースのF?

いいですねforce_weight、いいえ: force_mass。やはり重さは力です。

自然数の集合として N について話している場合、N がローカル変数でない場合、いくつかの点がわかりました。

于 2012-09-23T20:45:54.753 に答える