[#50363] [質問] Ruby socket.send でUDP Packet が出ない? ネットワーク環境によるものか? — <yamataka@...08.itscom.net>

山口と申します。

9 messages 2016/07/27

[ruby-list:50360] Re: CSV のコンバーターが nil に対して効かない

From: okkez <okkez000@...>
Date: 2016-07-26 00:12:26 UTC
List: ruby-list #50360
okkez です。

変わったのは↓のコミットみたいですね。

https://github.com/ruby/ruby/commit/7c4d4e1eb2897cec295ea9316835fc3cfef96d6d

どこかでレポートされて直したらしいですが、どこでレポートされたのかまではわかりませんでした。



2016年7月25日 21:52 5.5 <5.5@moji.gr.jp>:
> 5.5 です。
>
> CSV のコンバーターの仕様が Ruby 2.1 → 2.2 で変わったんで
> しょうか?
>
> ダブルクオートで囲まれてない空フィールドを nil じゃなくて
> 空文字列にするため,いままで
>
>   ->(s){s.to_s}
>
> というコンバーターを使ってきました。
> ところが,Ruby 2.2, 2.3, では,そもそも nil に対しては
> コンバーターが働かないようで,nil のままになります。
>
> 再現コードは以下の通りです。
>
> require "csv"
>
> CSV.new(",foo", converters: ->(s){s.to_s}).each do |row|
>   p row
> end
>
> これで,
>
> ruby 2.1.7p400 (2015-08-18 revision 51632) [i386-mingw32]
>
> だと
>
> ["", "foo"]
>
> になりますが,
>
> ruby 2.2.5p319 (2016-04-26 revision 54774) [i386-mingw32]
>
> だと
>
> [nil, "foo"]
>
> になっちゃいます。
>
> 公式リファンレスマニュアルを見ても,とくにこのあたりの仕様
> 変更についての記述が見当たりませんでした。
> Ruby 2.2.0 のリリースノート
> https://www.ruby-lang.org/ja/news/2014/12/25/ruby-2-2-0-released/
> や NEWS
> https://github.com/ruby/ruby/blob/v2_2_0/NEWS
> にも「CSV」の文字が見当たりませんでした。
>
> --
> 5.5@moji.gr.jp



-- 
okkez
okkez000@gmail.com

In This Thread