質問: lines[0] % 3 ``` とやると undefined method `%' for [3]:Array (NoMethodError) と出ます これを読んだ感じだとどうやらlines[0]はArrayクラスだから%は使えませんみたいなことなんでしょうか? だとするとそもそも標準入力の値を配列で受け取るのがいけないのでしょうか それとも配列の中身を完全に数値として取り出して計算に使う方法があるのでしょうか? ``` #[[3],[23],,,,]みたいになってるのがいけないんですか? #[3,23,,,,]じゃないといけないとか? ``` 解決法がありましたらよろしくお願いします。 よろしくお願いします。
回答: p lines #=> #[[3],[23],[32],[55],[54]] をみるとわかるかと思いますが、配列の配列になっています。 ですので lines[0]は[3]で配列なので、そのエラーとなります 1)lines = readlines(chomp: true).map{|line| line.split(' ').map(&:to_i)}.flatten 2)lines = readlines(chomp: true).join(" ").split.map(&:to_i) 3)lines = readlines.join.split.map(&:to_i) あたりかなぁ