Rubyの二重while文が上手く機能しない
こんばんは。
今Rubyで簡単な「掛け算の表」を作るのに挑戦しています。
ですが、Rubyの二重whileが期待した出力をしません。自分なりにRubyのリファレンスでwhileの項目を見たり、Rubyの解説サイトでwhileの欄を見たりして色々弄ってみましたが上手くいきませんでした。
自分が書いたコードはこんな感じです(使ってる言葉とか間違ってたり、コードが汚かったら申し訳ありません)
ご覧の通り1の段だけ出ていて2~9の段が出力されません...。
自分なりに理解してるプログラムの流れは
まずx = 1 y = 1
で変数の初期化をしています。(1の段とかける数1から始めたいから)
while x <= 9 do
はx = 1
で条件式がtrueなので処理に入ります。
まず最初の処理は
while y <= 9 do
で、whileの中にwhileを作った形になってます。
条件式y <= 9
のwhile文で1*1 ~ 1*9までの結果が出力に出るはずです。
無限ループを防ぐためy += 1
。
この内側のwhileがfalseになって初めて、puts
が実行され、改行されます。(次の段を表示するため)
最後に次の段の計算をしたいのでx += 1
で段を進めてます。
それでまたwhile x <= 9 do
に来て、条件式がtrueになるので同じ処理が続いてくはずです。
なのに出力結果は1の段しか出ません....
凄く下手で見辛い質問で申し訳ありません。
自分なりに格闘して探ってみたのですが、解決できません。どうかよろしくおねがいします