[前][次][番号順一覧][スレッド一覧]

ruby-reference-manual:3792

From: "okkez (okkez _)" <redmine@r...>
Date: Mon, 2 Sep 2013 15:49:44 +0900
Subject: [ruby-reference-manual:3792] [るりまプロジェクト - Bug #6952][Closed] RUBYOPT に書けるオプション


Issue #6952 has been updated by okkez (okkez _).

Status changed from Open to Closed
Assignee set to okkez (okkez _)
% Done changed from 0 to 100

バージョンごとに使えるオプションを書くのは不毛な気がしたので、使えないオプションを指定した場合には例外が発生する旨を追記しました。

----------------------------------------
Bug #6952: RUBYOPT に書けるオプション

https://bugs.ruby-lang.org/issues/6952#change-41530

Author: pypypy567 (py _)
Status: Closed
Priority: Normal
Assignee: okkez (okkez _)
Category: 
Target version: 
reporter: 
ruby_version: 


http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2fenvvars.html
指定出来るオプションの種類が書いてあってもいいかもと思いました。

通らないオプションを指定すると

ruby: illegal switch in RUBYOPT: -y (RuntimeError)
とか
ruby: invalid switch in RUBYOPT: -y (RuntimeError)
みたいなエラーが出るようなので以下のスクリプトでチェックしてみたのですが、

opts = %w(-0 -a -c -C -d -e -E -F -i -I -K -l -n -p -r -s -S -T -v -w -W -x --copyright --version)
puts `ruby -v`
opts.each do |opt|
  ENV['RUBYOPT'] = opt
  print opt, ' ' unless /switch in RUBYOPT/ =~ `ruby -e '' 2>&1`
end
puts

結果通るのは

1.8.4 まで: -d -I -K -r -T -v -w
1.8.7 まで: -d -I -K -r -T -v -w -W
1.9.1 から: -d -E -I -K -r -T -v -w -W
のようです。
1.9系の -K は書かない方がいいんでしょうか? ruby -h にも出ませんし。

# -n とかはともかく -S が書けないのはちょっと意外でした。
# 1.8系では -E が通らないので RUBYOPT=-Eutf-8 とか書いてると1.8系が起動出来なくなります。



-- 
http://bugs.ruby-lang.org/

--
ML: ruby-reference-manual@m...
Info: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

      3238 2012-08-30 11:49 [redmine@r...        ] [るりまプロジェクト - Bug #6952][Open] RUBYOPT に書けるオプション
->    3792 2013-09-02 08:49 ┗[redmine@r...        ] [るりまプロジェクト - Bug #6952][Closed] RUBYOPT に書けるオプション