アーカイブ

while trueとloopのちがい。 このエントリーを含むはてなブックマーク はてなブックマーク - while trueとloopのちがい。

2007 年 9 月 14 日 コメント 1 件

[ruby-list:20222] Re: while TRUE とloop の違いを教えてください

制御構造であるwhileとイテレータであるloopの間の本質的な違い はloopの方はループ本体がブロックである点です。そしてブロック は新たなスコープを導入します。

おー。

# 100で止まる
while true
foo ||= 0; foo += 1; puts foo; break if foo > 99
end
# 止まらない
loop do
foo ||= 0; foo += 1; puts foo; break if foo > 99
end

なるほど!

カテゴリー: Ruby タグ: