こんばんは。
今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の段しか出ません....

凄く下手で見辛い質問で申し訳ありません。
自分なりに格闘して探ってみたのですが、解決できません。どうかよろしくおねがいします