質問: s[0] puts "eq" end i += 1 end ``` ### 試したこと googleで検索してみたけれども、ぜんぜんりかいすることができませんでした。すいません。 1. 会社を辞めて在宅ワーカーになったパパの記録] 2. リンク内容 ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: > > undefined method `chomp' > > > とのことなので 問題は`gets`がnilを返していることです。 Kernel.#getsを見ると > > ファイルの終り(EOF)に到達した時、 nil を返します。 > > > と書いてあります。 なので対策としては、 * getsをしたあとにnilチェックをしてから`chomp.split(" ")`をする * 入力データの仕様を見直す コード上では10件分のデータが書いてあるのを想定しているが、データが足りていない > > puts "#{s[0]}" > > > 単に`puts s[0]`でいいです。 > > if s[0] > s[1] > > > これが整数比較になるかは微妙です 文字列を`split`しただけなのでs[0] s[1]ともに文字列のままです。 あくまでs[0] s[1]が数値文字列であった場合 長さ順・辞書順による比較が行われ似たような結果が返りますが 先頭に0を入れた場合などに誤った結果となるでしょう