n+=1 whileのとこが分かりません。whileはある条件のうちは、繰り返しを行うものですから、条件と繰り返しの部分が逆に成ってませんか?n+=1の後に改行を入れるとエラーになります。もしcametan_42さん、読んでくれてるなら、教えてもらえませんか?
それとClassの定義で[]があるのですが、コメントにしても大丈夫のようです。何故、関数にしてるのでしょうか?
n+=1 whileのとこが分かりません。whileはある条件のうちは、繰り返しを行うものですから、条件と繰り返しの部分が逆に成ってませんか?n+=1の後に改行を入れるとエラーになります。もしcametan_42さん、読んでくれてるなら、教えてもらえませんか?
それとClassの定義で[]があるのですが、コメントにしても大丈夫のようです。何故、関数にしてるのでしょうか?
Rubyではwhileは二つあって、1つ目はいわゆるwhile文。もう一つは、ここで使われてるwhile式です。
正確にはwhile修飾子と言うみたいですが、
while修飾子:
https://docs.ruby-lang.org/ja/latest/doc/spec=2fcontrol.html#while
式 while 式
と記述できる。
要するに、C言語の条件式でも三項演算子、と言うのがありますが、それのwhile版です。
ワンライナーでwhileを含む式が記述出来、また、そのまま結果を何かに代入出来る、と言うようなショートカットを構成する事が可能な模様です。
なかなか凄い機能です(笑)。
ある意味、Pythonのリスト内包表記とかにやってる事が近いかも、ですね。
A while BはB,A,B,A…と繰り返し、初めてBが偽に成ったとき停止する。これですね。