From: koshigoeb@... Date: 2017-01-23T04:28:39+00:00 Subject: [ruby-dev:49965] [Ruby trunk Bug#13149] Ruby 2.4.0 の CSV の field_size_limit オプションで先読み文字数を制限できない Issue #13149 has been updated by Masataka SUZUKI. Description updated ---------------------------------------- Bug #13149: Ruby 2.4.0 の CSV の field_size_limit オプションで先読み文字数を制限できない https://bugs.ruby-lang.org/issues/13149#change-62639 * Author: Masataka SUZUKI * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-darwin16] * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- Ruby 2.4.0 から、指定文字数未満で例外が出る事も、指定文字数以上で例外が出ない事もあります。 以下、指定文字数未満で例外が出るケース。 ~~~ require 'csv' CSV.new(DATA, field_size_limit: 4).each { |x| p x } __END__ "a","b" " 2 ","" ~~~ ~~~ $ ruby test.rb ["a", "b"] ~/.rbenv/versions/2.4.0/lib/ruby/2.4.0/csv.rb:1931:in `block in shift': Field size exceeded on line 2. (CSV::MalformedCSVError) from ~/.rbenv/versions/2.4.0/lib/ruby/2.4.0/csv.rb:1828:in `loop' from ~/.rbenv/versions/2.4.0/lib/ruby/2.4.0/csv.rb:1828:in `shift' from ~/.rbenv/versions/2.4.0/lib/ruby/2.4.0/csv.rb:1770:in `each' from test.rb:3:in `
' ~~~ 以下、指定文字数以上で例外が出ないケース。 ~~~ require 'csv' CSV.new(DATA, field_size_limit: 5).each { |x| p x } __END__ "a","b" " 2345 ","" ~~~ ~~~ $ ruby test.rb ["a", "b"] ["\n2345\n", ""] ~~~ -- https://bugs.ruby-lang.org/