ブログ記事 からの転載です。 Ruby 2.5 系で CSV.generate を使用しようとしたら意図しない動作をして、調べてみたらバグだったのでそのまとめ。 しかし、これ、結構クリティカルなバグだと思うんですけど、全然話題になってないのが不思議(当時は話題になっていたのかもしれないけど。 CSV.generate とは 以下のような感じで CSV 形式で文字列を構築する事が出来ます。 # Ruby 2.4 で実行 require "csv" require "pp" result = CSV.generate do |csv| csv << [1, 2, 3] csv << ["homu", "mami", "mado"] end pp result # => "1,2,3\n" + "homu,mami,mado\n" require "csv" require "pp" csv =
![Ruby 2.5 系で CSV.generate のバグ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/cc15e5edf3b6957efa75ec7f5d513d43abe43909/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UnVieSUyMDIuNSUyMCVFNyVCMyVCQiVFMyU4MSVBNyUyMENTVi5nZW5lcmF0ZSUyMCVFMyU4MSVBRSVFMyU4MyU5MCVFMyU4MiVCMCZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZTg0OTE3ZGE5NDVjZmU2NzNkOGVjODkxNzdkN2FmODQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBwaW5rX2JhbmdiaSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDAxOWNjYjU5YjMxYjk2ZDg2MmJjZWI3ZGJlMmJmOWI%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Db1331d1710b59d852fe7774d4b01b1b2)