[#17017] 標準添付案 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

21 messages 2002/05/08
[#17019] Re: 標準添付案 — "Akinori MUSHA" <knu@...> 2002/05/08

At Wed, 8 May 2002 19:50:17 +0900,

[#17021] Re: 標準添付案 — GOTO Kentaro <gotoken@...> 2002/05/08

At Wed, 8 May 2002 22:45:06 +0900,

[#17031] double acosh — WATANABE Hirofumi <eban@...>

わたなべです。

25 messages 2002/05/10
[#17032] Re: double acosh — nobu.nakada@... 2002/05/10

なかだです。

[#17033] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17036] Re: double acosh — matz@... (Yukihiro Matsumoto) 2002/05/10

まつもと ゆきひろです

[#17039] Re: double acosh — WATANABE Hirofumi <eban@...> 2002/05/10

わたなべです。

[#17134] argv[0] — Tanaka Akira <akr@...17n.org>

ふと ruby インタプリタの C における argv[0] を知りたくなったんですが、

23 messages 2002/05/18
[#17139] Re: argv[0] — matz@... (Yukihiro Matsumoto) 2002/05/18

まつもと ゆきひろです

[#17144] Re: msvcrt — "U.Nakamura" <usa@...>

こんにちは、なかむら(う)です。

18 messages 2002/05/19

[#17179] コマンドラインオプションの順序制約 — Kazuhiro NISHIYAMA <zn@...>

西山和広です。

13 messages 2002/05/22
[#17181] Re: コマンドラインオプションの順序制約 — matz@... (Yukihiro Matsumoto) 2002/05/22

まつもと ゆきひろです

[#17228] Re: [ruby-list:35305] Re: ((1.2)..(3.4)).to_a — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

28 messages 2002/05/30

[ruby-dev:17169] Re: argv[0]

From: Tanaka Akira <akr@...17n.org>
Date: 2002-05-21 08:14:41 UTC
List: ruby-dev #17169
In article <1021723554.017958.5113.nullmailer@picachu.netlab.jp>,
  matz@ruby-lang.org (Yukihiro Matsumoto) writes:

> 名前が決まらなくてそのままです。いい名前ありませんか?

えぇと、これほど反応が出るとは思ってもみなかったのですが、まぁ素直に喜
んでおくことにしてまとめます。

出た案は

RUBY_INTERPRETER
RUBY_INTERPRETER_NAME
RUBY_INTERPRETER_PATH
RUBY_PROGRAM_NAME
RUBY_ARGV0

ARGV.program_name

Process.argv
Process.progname

くらいだと思います。
(Process.setproctitle, Process.title=, Process.title は別の話ですよね。)

まつもとさんがどのあたりが気にくわないと思っているかはわからないので、
私の基準で評価すると、

* 一番、嘘をついてしまう可能性の少ない名前は RUBY_ARGV0 と
  Process.argv で、

* 一番、欲しいものを表現しているのは RUBY_INTERPRETER_PATH でしょう。
  むろん、knu さんが指摘しているようにこれは exec 側に騙されて嘘をつい
  てしまう可能性があります。

  ついでに、考慮すべき状況をひとつ増やすとすれば、rb2c など、バイナリ
  を生成してから実行すると、インタプリタがそもそも存在しないことがあり
  ます。この場合、argv[0] は呼び出されたバイナリであり、インタプリタで
  はありません。(まぁ、rb2c は現在利用不能ですけどね。)

で、この二つの方向が矛盾するあたりが名前を選びにくいところなんですが、
Process.argv は存在しても害にはならないと思うので、これはあってもいい
んじゃないかなぁと思います。

あるいは、(exec 側が普通の作りなら)なんらかのプログラムの名前なのだと
いうことで、中庸かつ玉虫色に RUBY_PROGRAM_NAME にするか。

または、インタプリタのパスを提供するのだと強気にやるなら
RUBY_INTERPRETER_PATH, RUBY_INTERPRETER_NAME, RUBY_INTERPRETER になる
でしょうが、rb2c みたいなのでどういう値になるのかを考える必要があるか
も知れません。そういう場合には nil にしてインタプリタで動いているのか
どうかを示すことにするのもいいかもしれませんけれど。

# まつもとさんの基準にあうものが一つでもあるといいんですが...
-- 
[田中 哲][たなか あきら][Tanaka Akira]
「ふえろ! わかめちゃん作戦です$(C⊇」(Little Worker, 桂遊生丸)

In This Thread