From: Katsuyuki Komatsu Date: 1999-08-04T14:25:24+09:00 Subject: [ruby-list:15875] Re: cannot install ruby-gtk into FreeBSD 2.2.x 小松です。 In message of [ruby-list:15867] Re: cannot install ruby-gtk into FreeBSD 2.2.x on 1999/8/4 00:44:48 gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote: |えーっとえーっとわたなべさんもいうように今の問題は別にしても |$^X が欲しいというのはあったりしますよね ^^; そですね。わたしも欲しいです。 |# しかしまつもとさんは今日はいないんだっけ。実装的に問題なけ |# れば [ruby-list:15843] は採用して欲しいのだけど。もう無理?? ruby.cの#include もio.cと同様に#if defined(HAVE_FCNTL_H) で囲む必要があると思います……とruby.cの別の問題を書いておいて、 「ruby.cをさわるならごいっしょに[ruby-list:15843]もいかがですか?」 とお願いしてみましょうか。 |それは気になってはいましたが、UNIXモデルでは実行ファイルが自 |身の場所を知る方法ってないと思うです、たぶん。ってわけで書い |てみました。File::which("ls") => ["/bin/ls"] というものです。 相対パス指定がちょっと (^^; % ./ruby ./ruby: Command not found % ./ls ./ls: Command not found % which ./ruby ./ls ./ruby not found ./ls not found % which.rb ./ruby ./ls /usr/local/bin/./ruby /usr/bin/./ls % which.rb -a ./ruby ./ls /usr/local/bin/./ruby /usr/bin/./ls /usr/ucb/./ls % which.rb -s not-found ; echo $status 1 % which.rb -s ./ruby ; echo $status 0 % which.rb -help which.rb:32: undefined local variable or method `stderr' for # (NameError) % |>mswin32では、常にフルパスがくるので、 |> RUBY = #{RUBY_INTERPRETER} |>でよいですけどね。 | |それはそれで便利な仕様ですね。 忘れてましたが、これはCOMMAND.COMあるいはCMD.EXEの機能なので cygwinのbashでmswin32の./rubyを起動した場合のケースではUNIX と同様の対処が必要です。 すると、which.rbにもdosishの対策が必要かも。 bash-2.02$ ./ruby -ve "puts RUBY_INTERPRETER; puts ENV['PATH']" ruby 1.3.6 (1999-07-28) [i386-mswin32] ./ruby c:\CYGWIN~1\H-I586~1\bin;C:\WINNT\system32;C:\WINNT;C:\USR\BIN;C:\USR\LOCAL\BIN;C:\PERL\BIN;C:\HOME\BIN bash-2.02$ -- 小松克行 / Katsuyuki Komatsu