Ruby初心者です。
Rubyの2次元配列にpushをしようとしています。例えば
[ [0, 0, 0],
[0, 0, 0] ]
が用意されている2次元配列に新たにpushをして
[ [0, 0, 0, 1, 1],
[0, 0, 0] ]
ができるかどうか、または
[ [0, 0, 0, 1, 1],
[0, 0, 0],
[0, 0, 0]]
ができるかどうか教えていただきたいです。
やりたいことはテキストファイルに
txt
11 2内容 32 4内容 5内容 63 7内容 8. 9. 10. 11```というファイルがあってこれを 12[[1, 内容], 13 [2,内容,内容], 14 [3,内容]] 15という配列にしたいと思っています。 16 17現在書いているのはこのコードです。 18```Ruby 19#! ruby -Ku 20 21cur_dir = Dir.pwd 22 23before_list = [] 24after_list = Array.new(2) { Array.new(2,0) } 25list_size = 0 26 27File.open(cur_dir + "/hoge.txt", "r") do |file| 28 before_list = file.readlines 29end 30 31before_list.each { |line| 32 contents_size = 0 33 if line.match(/^[0-9]+$/) 34 after_list[list_size][0] = line[0] 35 list_size += 1 36 else 37 after_list[list_size].push(hoge) 38 contents_size += 1 39 end 40} 41
をしても
undefined method 'push' for nil:NilClass(NoMethodError)
と出てきてしまいます。
回答2件
あなたの回答
tips
プレビュー