エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
プログラミング・コンテスト的なものを解いていると、「標準入力から一行ずつ受け取り、配列に格納する... プログラミング・コンテスト的なものを解いていると、「標準入力から一行ずつ受け取り、配列に格納する」という処理を書くことがしばしば求められます。こういうとき、わたしは以下のように書いてきましたし、ごく一般的な方法であるとも思います。 lines = [] while line = gets do lines << line.to_i end p lines #=> [1, 2, 3, 4] が、個人的にこれが気に入らない。とくにwhileのブロックが1行である点。Rubyには後置whileがあるので、繰り返し中の処理が1行ならこれを使いたいのです。その方がコード全体が短くなるのはもちろん、可読性も高いと思います。そこで次のように書き換えてみるわけですが…… lines = [] lines << line.to_i while line = gets p lines #=> ERROR 残念