From: sheepman Date: 2008-01-17T22:47:14+09:00 Subject: [ruby-dev:33156] default script encoding and -K option こんばんは sheepman です。 [ruby-dev:33140] でなかむらさんが書かれていますが、 On Thu, 17 Jan 2008 09:42:43 +0900 "U.Nakamura" wrote: > そして、1.9は-Kを引き続き互換性のためにサポートしてるんだから > 1.8と同じように動かせるはず、なのですが... 1.9 の -K オプションはグローバルではないので、 require したライブラリには影響をおよぼせません。 以下のような shebang を書いていないライブラリでは 1.8 と違う動作をします。 $ cat t.rb require 'lib' f("いろは") $ cat lib.rb def f(s) p $& if /./ =~ "漢字" p $& if /./ =~ s end $ ruby-1.8 -vKe t.rb ruby 1.8.6 (2007-12-02 patchlevel 5000) [i686-linux] "漢" "い" $ ruby-1.9 -vKe t.rb ruby 1.9.0 (2008-01-16 revision 0) [i686-linux] "\xB4" "い" コマンドラインの -K オプションは shebang も magic comment も 書いていないライブラリのスクリプトエンコーディングにも作用するという のはどうでしょうか。 -- sheepman / TAMURA Takashi sheepman@sheepman.sakura.ne.jp