From: nobu.nakada@... Date: 2000-02-13T16:20:56+09:00 Subject: [ruby-dev:9204] Re: site_ruby なかだです。 At Sun, 13 Feb 2000 09:45:44 +0900, gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote: > >> "." よりヤバいやも。危険の可能性として他人のディレクトリにあ > >> るプログラムを直接実行する場合に予期せぬモノをロードする可能 > >> 性が考えられます。 > > > > たしかにヤバいんですが。ただそういうディレクトリのものを実行するという > >ところで既に、ヤバい可能性は一緒かなと思ったんですが。 > > 確かにこれって便利なんですけど、「どこで実行するか」と「どこ > にあるものを実行するか」の危険性を比較するための条件ってなん > なんでしょうねえ。どんどん分からなくなって来ました。 たしかに難しいところで。デフォルトでカレントにあるものを探すっ ていうのはインタプリタ自身の動作としては自然なんですが、ロードさ れるスクリプトの側から見ると、全く意図しないところから意図しない ものがロードされて来る可能性があるわけです。そう考えると少なくと も "." は無い方がいいかも。 > その辺のわからなさからわたなべさんの "." も外そうという意見 > に傾きつつあります。が、その場合でも個人的には、環境変数で > "." を付け加えるでしょう。その点 File.dirname($0) は環境変数 > では付け加えられないので必要性を感じなくはないです。 スクリプトの中から自分のディレクトリを追加する手は無くは無いで すが、環境変数じゃ無理でしょうね。 複数のソースからなるスクリプトは、明示的に自分のディレクトリを $: に追加することにして、"." も File.dirname($0) も自動的に追加す るのはやめにするとか。[ruby-dev:9202] も symlink 考えてないし:-P。 BEGIN { $: << File.dirname(File.expand_path($0)) } -- そうだ 強気に ちょっと インチキに☆彡 中田 "Bugるくらいがちょうどいいかも;-)" 伸悦