From: Inaba Hiroto Date: 1998-06-24T00:47:12+09:00 Subject: [ruby-dev:2999] Re: feature freeze for 1.1c From: matz@netlab.co.jp (Yukihiro Matsumoto) Subject: [ruby-dev:2985] Re: feature freeze for 1.1c Date: Tue, 23 Jun 1998 11:46:33 +0900 > In message "[ruby-dev:2972] Re: feature freeze for 1.1c" > on 98/06/23, Inaba Hiroto writes: > > |とりあえず3つ提案させて頂きます。全て代入がらみで、「あれば便利」程度 > |なので時間がなければ見送ってもよいと思います。 > > まず,2は採用します. > > |2. Perl5で導入された`||='オペレータと`&&='オペレータをrubyでも導入して > |頂けませんか? ありがとうございます。ちょっと前にあった、nil + x がエラーとなる事で hash[key] += some としているコードを修正する場合がありますが、これが採用されれば、先に hash[key] ||= 0 などとしておけばよいわけです。 > それから3は採用しません.すいません. > > |3. Perlでは代入式は左辺式になります。 > | % perl -le '(($a = 3) *= 10) += 5; print $a' > | 35 > > 理由は実装の大変さと挙動の理解しにくさの両面です. はい、わかりました。とはいえ、これも採用されていれば2とあわせて (hash[key]||=0) += some などとできたんですが。(やっぱりわかりにくいかもしれませんね:->) > で,一番悩んでいるのは1で > > |1. Perlでは、リストに代入をする時、左辺にundefがあるとそこへの代入は > |NOPになります。この機能で無意味なダミー変数を使わなくて良くなっていま > |す。 > > ダミー変数を使わなくてよいというのはある意味嬉しいんですけど, > nilに代入するってのはやっぱり美しくないような….で, 美しさの問題ですか…(いえ、重要なのですが) 自分はnil → /dev/nullの連 想で、nilへの代入を NOP にするのに違和感をそんなに感じなかったのです。 -- 稲葉 浩人 (inaba@st.rim.or.jp)