From: Hidetoshi NAGAI Date: 2005-01-25T12:28:53+09:00 Subject: [ruby-dev:25500] priority between commandline option and RUBYOPT env variable 永井@知能.九工大です. 知人よりの指摘がありました. RUBYOPT='-Ke' と設定した環境で SJIS で書かれたスクリプトを ruby -Ks foo.rb などとして呼び出しても -Ks の状態になりません. ただし foo.rb の第1行が #!/usr/bin/env ruby -Ks の場合には ruby -Ke foo.rb でも -Ks の状態で動きます. つまり現在の優先順位は 1. スクリプトの先頭行の記述 2. RUBYOPT 環境変数 3. コマンドラインオプション です. 問題は,「コマンドラインオプションは RUBYOPT 環境変数の設定よりも 優先されるべきではないか」という点です. なお,スクリプト先頭行の記述とコマンドラインオプションとの優先順位は 微妙なものがありそうです. require される場合はその先頭行の情報を適用して欲しいと思われますが, 直接呼び出す場合にはコマンドラインオプションが優先された方が 驚きは少ないようにも思えます. いかがでしょうか? 少なくとも,環境変数よりはコマンドラインの指定が優先されるべきと 思うのですが... -- 永井 秀利 (九工大 知能情報) nagai@ai.kyutech.ac.jp