次のように@housesアレイが設定されていると仮定:集合住宅の平均住宅価格を簡潔にどのように把握していますか?
house1.price = 10
house2.price = 20
house3.price = 30
@houses << house1
@houses << house2
@houses << house3
これが私たちの計算の出発点であり、我々は住宅の平均価格を検索する:
total = 0
average = 0
for h in @houses
total += h.price
end
average = total/@houses.size
これはのように思えるが平均を取るためにかなりたくさんのタイピングが必要です。
良い方法がありますか?
こんにちはチャック。私はあなたがここで与えた構文の説明については "Rubyプログラミング言語"を見てきましたが、私はそれらの特殊文字が何であるか把握できません。あなたは、価格が何を意味するかを教えてもらえますか、注射するか(:+)ありがとう。 –
Ruby 1.8.7と1.9の新機能です。ブロックを受け取るメソッドの場合、 '&:somemethod'を渡すことができます。これは' {| object |オブジェクト。ソームメソッド} '。 ':+'に関しては、 'inject {| memo、obj | '}のように、配列内のすべてのオブジェクトに対して' + 'を呼び出すようにinjectに指示します。メモ+ obj} '。それは理にかなっていますか? – Chuck
1.9に追加したことがわかりませんでした。素晴らしい:D – madlep