Ruby ループ |
作成日: 2003-08-04 最終更新日: |
Ruby のループは、式になっていることが特徴だ。また、 かなりのループがメソッドで書けることも利点となっている。 私は C 言語の経験しかないので、C 言語との対比で説明することにする。
C 言語では、一定同じことをするための構造では、変数を導入しないといけなかった。
たとえば、こんな感じである。
/* ヒラマヤ を 10 回表示させる */
int i;
for (i = 0; i < 10; i++){puts("ヒラマヤ");}
わたしはこの文を見るたび、10 回表示させるのになぜ変数 i が必要なのか、 ずっと疑問に思っていた。その点、Ruby ならば簡単である。
10.times do
print("ヒラマヤ¥n")
end
もっとも、この構文を覚えているわけではなかった。
ruby 言語 繰り返し などのキーワードで検索した結果である。
オブジェクトに使われるメソッドを忘れていたこともあって、
メソッドを調べる方法を知りたいと思った。その方法もやはりメソッドであり、
pp (オブジェクト).methods
で調べられる。
C 言語の while (条件文) { ... } に相当する。
プログラミング言語では邪道とされる機能ではあるが、 最初に必ず1回はブロック内を実行する構造がある。 C 言語では、do { ... } while (条件文); で表現される。 Ruby には用意されていないと思い込んでいたが、 これは間違いで、begin ... end while (条件文) で表現できる。
C 言語では、while (条件文) {if (条件文) break;} となる構造である。 これもプログラミング言語では邪道とされる構造であるが、 これがないと無理や無駄が発生する、必要悪ともいえる構造である。