From: shyouhei@... Date: 2016-12-21T14:30:20+00:00 Subject: [ruby-core:78781] [Ruby trunk Feature#12839] CSV - Give not nil but empty strings for empty fields Issue #12839 has been updated by Shyouhei Urabe. Assignee set to James Gray Currently no active developers are there for CSV. I heard the distinguish between silent and sound empty cells are intentional. However I have no idea if converter issue is a bug or design. ---------------------------------------- Feature #12839: CSV - Give not nil but empty strings for empty fields https://bugs.ruby-lang.org/issues/12839#change-62185 * Author: 5 5 * Status: Open * Priority: Normal * Assignee: James Gray * Target version: ---------------------------------------- The CSV parser gives nil for empty fields. ```rb require "csv" CSV.parse(%|,""|) #=> [[nil, ""]] ``` The above behavior maybe be suitable for certain programmers, but I hope to get `[["", ""]]`. So I had used to write the following code reluctantly till Ruby 2.1: ```rb require "csv" CSV.parse(%|,""|, converters: lambda{|v| v || ""}) #=> [["", ""]] ``` It is wasteful, but certainly works for my purpose. However, because of #11126, the above code does not work from Ruby 2.2. (Converters are not called for nil) I merely want an option, which makes the CSV parser give empty strings for empty fields. Namely, ```rb require "csv" CSV.parse(%|,""|, string: true) #=> [["", ""]] ``` -- https://bugs.ruby-lang.org/ Unsubscribe: