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

回答編集履歴

1

追記

2019/10/10 14:42

投稿

rhiroe
rhiroe

スコア2352

answer CHANGED
@@ -8,12 +8,16 @@
8
8
 
9
9
  ```rb
10
10
  puts File.read('sample.txt').gsub(/[",,]/, '').split("\n")
11
- .map{ |x| eval("{#{x}}").values }.join(', ')
11
+ .map{ |x| eval("{#{x}}").values }.join(',')
12
12
  ```
13
13
  ```
14
- 1, 2, 3
14
+ 1,2,3
15
15
  ```
16
16
  と出力できます。
17
17
  `File.read`でファイルの中身を取り出し、`gsub`で不要な文字を消し、`split`で分割して、`eval`で無理やりHashの形にして、`join`で結合して出力しています。
18
18
 
19
- 雑に書いたのでもっといい書き方があるかもしれませんが、これを`puts`で出力するのではなく、新しくファイルに書き込むようにすれば目的は果たせると思います。
19
+ 雑に書いたのでもっといい書き方があるかもしれませんが、これを`puts`で出力するのではなく、新しくファイルに書き込むようにすれば目的は果たせると思います。
20
+
21
+ 書き方については色々あります。
22
+ 条件さえ満たせばいいのか、他に考慮すべきことがあるのか次第です。
23
+ 他の方も回答を考えてくださっているので、要件に一番合いそうなものを参考にすれば良いと思います。