undefined method `[]=' for nil:NilClass (NoMethodError) について
###VAPSで計算を回しています.
ruby
1#!/usr/bin/env ruby 2 3require 'pp' 4require 'scanf' 5def get_vals(dir) 6 vals = [] 7 Dir.glob(File.join(dir,'*.o*')).each do |file| 8 m = File.read(file).scan(/E0= (.+) d/) 9 unless m!=[] 10 p dir 11 next 12 else 13 vals << m[-1][0].scanf("%f")[0] 14 end 15 end 16 vals 17end 18 19['relax_1st','relax_2nd','fix_1st','fix_50','fix_100','fix_150','fix_200'].each do |source| 20 puts source+":=" 21 results = [] 22 Dir.glob('*/*').each do |dir| 23 if dir.include?(source) and File.directory?(dir) 24 dd = File.dirname(dir).split('_')[-2..-1] 25 p dd[0] 26 vals = [dd[0].to_f, dd[1].to_f] 27 vals << get_vals(dir) 28 results << vals.flatten 29 end 30 end 31 pp results.sort 32 puts ";" 33end
このようなコードを作成したのですが,
出力
ruby
1/***/***/***/gets_all_results:25:in `block (2 levels) in <main>': undefined method `[]' for nil:NilClass (NoMethodError) 2 from /home/kawai/bin/gets_all_results:22:in `each' 3 from /home/kawai/bin/gets_all_results:22:in `block in <main>' 4 from /home/kawai/bin/gets_all_results:19:in `each' 5 from /home/kawai/bin/gets_all_results:19:in `<main>'
というエラーが出てしまいます[]が未定義なメソッドという意味だと思うのですが,解決することができません.
ご教授いただけると幸いです.
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。