From: "NARUSE, Yui" Date: 2014-01-09T09:53:12+09:00 Subject: [ruby-dev:47875] Re: [Mac OS X] Dir.glob で取得したファイル名のバイト列が異なる 端的には仕様変更です。 長大な議論の果てに変更されたわけなのですが、詳細をすぐには思い出せないので、 さしあたっては http://bugs.ruby-lang.org/issues/7267 を御覧ください。 解説が必要でしたら解説します。 2014年1月3日 16:33 Watson : > Ruby 2.0 までは OS X のファイル名を Dir.glob で取得したときには > OS X ファイルシステムが返す Normalization Form D バイト列が Dir.glob で > 取得されておりました。 > > Ruby 2.1 からは Normalization Form C に変換したバイト列が Dir.glob で > 取得されるようになっているようなのですが、仕様が変わったのでしょうか? > > % cat test.rb > system "touch 'が'" > Dir.glob("*").each do |file| > next if file == $0 > puts "** #{file} **" > file.each_byte do |b| > p b > end > end > > % ruby -v test.rb > ruby 2.0.0p247 (2013-06-27 revision 41674) [universal.x86_64-darwin13] > ** が ** > 227 > 129 > 139 > 227 > 130 > 153 > > % ruby -v test.rb > ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0] > ** が ** > 227 > 129 > 140 -- NARUSE, Yui