teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

教えていた大ことに基づき修正したコードを掲載

2020/05/10 12:00

投稿

otakurounin
otakurounin

スコア25

title CHANGED
File without changes
body CHANGED
@@ -45,4 +45,23 @@
45
45
  というえらーになります。
46
46
  おそらく、yearに何も代入されていないのでnilになっているのではないかと思いますが、今回使ったデータファイルの場合、最初の行に
47
47
  2013年
48
- とあるので、ここで代入が行われるはずなのですが、どうしてnilになっているのかわかりません。
48
+ とあるので、ここで代入が行われるはずなのですが、どうしてnilになっているのかわかりません。
49
+
50
+ 追記
51
+ maisumakunさんとotnさんに教えていただいたことをもとにコードを次のように修正し、動くようになりました。
52
+ ``````ruby
53
+ open("kakeibo_new1.txt", "w") do |f|
54
+ year=""
55
+ IO.foreach("kakeibo_ex.rb") do |line|
56
+ if (/^(\d{4})年/=~line) then year=$1
57
+ else
58
+ line.gsub!(/^(\d{4})\t/){year+$1+"\t"}
59
+ f.puts line
60
+ end
61
+ end
62
+ end
63
+
64
+ ここに言語を入力
65
+ ```
66
+ コード
67
+ ```