こんばんは、ZnZです。

csv_split1は、列が「"」で終わる場合に
例外(cannot decode CSV (RuntimeError))が発生します。

csv_split3は行が「"」で終わる場合に例外が発生します。
./csv_split3.rb:41:in `concat': failed to convert nil into String (TypeError)
        from ./csv_split3.rb:41:in `csv_split_for_quoted_field'
        from ./csv_split3.rb:7:in `csv_split'

また、のcsv_split3は最後の列が空の時に無視されるようです。


p csv_split(',""""')   # =>どちらも例外
p csv_split(',"""",')  # =>csv_split3だと["", "\""]になる。

--- 
ZnZ(ゼット エヌ ゼット)
西山和広(Kazuhiro Nishiyama)
mailto:nishiyama / mx1.tiki.ne.jp