[#6617] Re: IPv6 ruby — Jun-ichiro itojun Hagino <itojun@...>

26 messages 1999/04/15
[#6672] Re: IPv6 ruby — matz@... (Yukihiro Matsumoto) 1999/04/28

まつもと ゆきひろです

[#6673] Re: IPv6 ruby — itojun@... 1999/04/28

[#6674] Re: IPv6 ruby — matz@... (Yukihiro Matsumoto) 1999/04/28

まつもと ゆきひろです

[#6675] Re: IPv6 ruby — itojun@... 1999/04/28

[#6676] Re: IPv6 ruby — matz@... (Yukihiro Matsumoto) 1999/04/28

まつもと ゆきひろです

[#6677] Re: IPv6 ruby — itojun@... 1999/04/28

[ruby-dev:6550] Re: [REQ] Object#+@ as identity (Re: [REQ] p -10 == p(-10))

From: matz@... (Yukihiro Matsumoto)
Date: 1999-04-05 07:38:40 UTC
List: ruby-dev #6550
まつもと ゆきひろです

In message "[ruby-dev:6546] Re: [REQ] Object#+@ as identity (Re: [REQ] p -10 == p(-10))"
    on 99/04/05, Inaba Hiroto <inaba@st.rim.or.jp> writes:

|ずいぶん時間がたちましたが、いまだに名案はありませんので、そろそろ
|ギブアップします。

うっ,残念だなあ.

|現在のrubyの空白のあるなしで結合関係が変わるシンタックスを認める限り、
|仕方がないのかな、と思うようになりました。
|(このシンタックスは、いまさら変えられない...でしょうね。)

ちょっとまとめてみましょう.

現状のRubyでは

  foo+bar
  foo + bar

と

  foo +bar

では違う解釈が行われるというのが第1点です.これについての私
の考えは「互換性のこともあるしいまさら変えられない」です.こ
れは前提条件としましょう.

次に問題になるのは,-wオプションを付けると上記の

  foo +bar

のような形式にはことごとく警告が出てうるさいという点です.こ
れは私も同意します.

で,これに対する対応として

  (a) 警告を出さなくする
  (b) 別の基準を用意して緩和する
  (c) 現状維持

という考えがあって,稲葉さんにはbの「別の基準」を宿題にした
というのが経緯です.そうですか,思い付きませんでしたか.

私としては単項+/-については,この警告を出さなくすると言うの
も受け入れられないほどではないな,と考えているのですが,せっ
かくあるものを無くすんですから,この警告全般についていろいろ
話し合えたら良いなと考えています.

どなたかこの件に付いて私と一緒に考えてみたい人はいますか?

|> |あ、ちょっと別の話ですが、Perlではチェックされる以下のwarningをruby
|> |でもチェックするようになれば、「ambiguous first argument」はあまり
|> |なくても良くなりませんか?

|> 確かにそうなんですが,Rubyの場合,+も単なるメソッドなので
|> (やって欲しくはないですけど),+に副作用があってvoid context
|> でもOKなんてことがありえるので,やや難しい気がします.
|
|Perlでもoperator overloadingがあるのでオブジェクトに対しては副作用のあ
|る「+」を定義できます。
|実際に副作用のある「+」を作って実行してみたんですが、Perlはoverloadの
|あるなしに関係なくWarningを出してくれました。
|
|言語を作る人のポリシー次第でしょうけど、「やって欲しくないこと」に
|warningを出す事はある意味自然ではないでしょうか?

なるほどねえ.それは言えるかもしれません.となると,こっちを
警告するようにして,単項+/-については警告を外すと言うのも有
力な候補ですね.
                                まつもと ゆきひろ /:|)

In This Thread