MENU

【スキルハックス】Rubyで超便利なeach文について学ぶ!

今回はRubyで長くなってしまう計算をeach文を使って、すっきりと書くことを学びます。eachはそれぞれという意味の通り、配列の中身をそれぞれ取り出していく事ができるようになります。

前回の計算をeach文を使わずに合計を求めようとすると上記のようになります。長いですよね…しかもわかりにくい。そんな時にeach文を使います。ちなみに合計は620です。

さきほどの書き方で、平均点を出しておきます。平均点は62です。

each文を使って、上記のように書いてみます。scoresからeachでそれぞれ取り出して、scoreに入れます。最初は50が取り出されてscoreにラベル付けされます。その前に”こんにちは”があるので、『こんにちは』の次に『50』が表示されます。次に70が取り出されてscoreにラベル付けされます。その前に”こんにちは”があるので、『こんにちは』の次に『70』が表示されます。‥‥最後に90が取り出されてscoreにラベル付けされます。その前に”こんにちは”があるので、『こんにちは』の次に『90』が表示されます。配列のそれぞれの取り出してくれるなら合計点も表示できそうですね。

上記のように書いてみます。すると合計点の620が表示できました。最初にsum = 0で、eachで50が取り出されてscoreにラベル付けされます。sum = sum(現在は0) + score(現在は50)なので、sum = 50になります。次にeachで70が取り出されてscoreにラベル付けされます。sum = sum(現在は50) + score(現在は70)なので、sum = 120になります。‥‥最後にeachで90が取り出されてscoreにラベル付けされます。sum = sum(現在は530) + score(現在は90)なので、sum = 620になります。すべて取り出した後にputs = sumで620が表示されます。

上記のように書くと分かりやすいかもしれません。

doとendで囲まれた部分が、配列から取り出されるたび繰り返す感じです。

合計が出たので、10で割ると平均点を出すことができました。

スッキリ書くと上記のように書けます。

平均点を出す際に、追加分が出てきても簡単です。

文字も同様にeach文を使うことができます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメントする

目次
閉じる