重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

012 012 012 .....

0、1、2と数値をローテーションさせたいです。
そこで以下の様に書いてみました。

r=0
loop do
puts r
r=r<3 ? r+1 : 0
sleep 1
end

012 3 012 3 012 3 .....
になってしまいます。

以下の様に書けば良いのですが、
r=0
loop do
puts r
r+=1
r=r<3 ? r : 0
sleep 1
end

どうして、最初の式はダメなのでしょう? なんか理解できません。

以上、よろしくご指導の程お願い申し上げます。

A 回答 (1件)

r=r<3 ? r+1 : 0



rが2だったら、r<3が真なので、r+1 つまり3になります。

r=r<2 ? r+1 : 0

では?

この回答への補足

notnotさん、ご回答有り難うございます。

なんか、混乱してました。もう大丈夫です。スッキリしました。

ときどき、変な所で、頭の中がループしちゃうのです。そんなときは、ココがとても助かります。

notnotさんには、いつもお世話になってる気がします。ありがとうございました。

補足日時:2013/07/06 21:52
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!