[#8168] {literal}#[]= — EGUCHI Osamu <eguchi@...>

えぐち@エスアンドイーです。

16 messages 1999/11/01
[#8172] Re: {literal}#[]= — matz@... (Yukihiro Matsumoto) 1999/11/01

まつもと ゆきひろです

[#8176] Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...>

もりきゅうです。

35 messages 1999/11/01
[#8178] Re: Multiple self assignment — matz@... (Yukihiro Matsumoto) 1999/11/01

まつもと ゆきひろです

[#8212] Re: Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/02

もりきゅうです。

[#8213] Re: Multiple self assignment — matz@... (Yukihiro Matsumoto) 1999/11/03

まつもと ゆきひろです

[#8232] 例外を処理する 2 項演算子 — Kazunori NISHI <kazunori@...> 1999/11/05

西@九大です。

[#8233] Re: 例外を処理する 2 項演算子 — matz@... (Yukihiro Matsumoto) 1999/11/05

まつもと ゆきひろです

[#8236] Re: 例外を処理する 2 項演算子 — Kazuhiro Yoshida <moriq.kazuhiro@...> 1999/11/05

もりきゅうです。

[#8266] Re: 例外を処理する 2 項演算子 — EGUCHI Osamu <eguchi@...> 1999/11/07

えぐち@エスアンドイー です。

[#8269] Re: 例外を処理する 2 項演算子 — gotoken@... (GOTO Kentaro) 1999/11/07

In message "[ruby-dev:8266] Re: 例外を処理する 2 項演算子"

[#8271] Re: 例外を処理する 2 項演算子 — matz@... (Yukihiro Matsumoto) 1999/11/08

まつもと ゆきひろです

[#8274] Re: 例外を処理する 2 項演算子 — keiju@... (石塚圭樹) 1999/11/08

けいじゅ@日本ラショナルソフトウェアです.

[#8204] Re: [ruby-list:18281] Re: アクセス制御について — Shugo Maeda <shugo@...>

前田です。

12 messages 1999/11/02
[#8205] Re: [ruby-list:18281] Re: アクセス制御について — Shin-ichiro Hara <sinara@...> 1999/11/02

原です。

[#8315] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Kazunori NISHI <kazunori@...>

西@九大です。

37 messages 1999/11/15
[#8316] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — matz@... (Yukihiro Matsumoto) 1999/11/15

まつもと ゆきひろです

[#8369] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Koji Arai <JCA02266@...> 1999/11/18

新井です。

[#8374] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — matz@... (Yukihiro Matsumoto) 1999/11/18

まつもと ゆきひろです

[#8384] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Koji Arai <JCA02266@...> 1999/11/19

新井です。

[#8405] 1.4.3 (Re: Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{}) — matz@... (Yukihiro Matsumoto) 1999/11/24

[#8319] Re: Exception handling — Jun Adachi <adachi@...>

安達@沖データと申します。

21 messages 1999/11/16
[#8350] Re: Exception handling — Kazunori NISHI <kazunori@...> 1999/11/17

西@九大です。

[#8446] [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...>

西@九大です。

37 messages 1999/11/29
[#8449] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/11/30

まつもと ゆきひろです

[#8463] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/11/30

西@九大です。

[#8474] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/12/01

まつもと ゆきひろです

[#8476] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/12/01

西@九大です。

[#8487] Re: [REQ] {enumerable, integer, range}.rand — matz@... (Yukihiro Matsumoto) 1999/12/02

まつもと ゆきひろです

[#8494] Re: [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...> 1999/12/02

西@九大です。

[#8451] new Hash (Re: [ruby-list:19043]) — Wakou Aoyama <wakou@...>

青山です。

18 messages 1999/11/30

[ruby-dev:8350] Re: Exception handling

From: Kazunori NISHI <kazunori@...>
Date: 1999-11-17 15:00:00 UTC
List: ruby-dev #8350
西@九大です。

From: Jun Adachi <adachi@tpegasus.lab.okidata.co.jp>
> CGIの件だとこんなので対応できるんじゃないかと思うんですが、やっぱり演
> 算子の方がよいんでしょうか?>最初のメールの方(もりきゅうさん???)

これまでのこの「例外の捕捉」に関する一連のスレッドでは、大別して

  * 後置rescue(rescue修飾子)の採用
  * 新たな記号演算子の導入
  * 新たな予約語の導入

の3つが検討されています。(参考、[ruby-dev:8271])

で、「演算子か?修飾子か?」という選択の問題があるのですが、安達さんが
ここで使われている「演算子」は、その選択の一つではなく、これら全部の総
称的な意味合いですよね?(安達さんが)提案された「エラーハンドリング」に
対して、「演算子」がよいのか?という意味だと。

それに対する答えは、「比較できない」です。所謂「演算子」の方は、Ruby 
の従来の「例外処理機構」という枠組の中で「簡潔に書ける表記法」を目指し
ています。一方、安達さんの提案は「その枠組自身の改良」(機能拡張)だと認
識しているからです。それぞれは、別の議論にできると思います。
#もしかすると、統一的に扱う事でエレガントな回答があるかもしれませんが

もし、そうではなくて、「演算子」と「修飾子(予約語)」のどちらがよいか?
という話であれば、個人的には「演算子」です。これは、用途的には「代入」
や「引数」的に使わる事が多いだろう、という判断からです。

だったのですが、、、最近は結構どちらでもよくなってきました。というか、
まつもとさんの言われる

  * 記号は情報量が少ないので、(意味を伝えるのが)なかなか難しい
  * 自分が意味を知らない記号を含むプログラムは暗号に近い

に納得しました。ていうか、むしろ、「代入」や「引数」的な用途が多いなら
ばこそ、それを(強制的に)明示する表記法(括弧が必要)の方がよいのかもしれ
ない、とも思うようになりました。

        csv.push m2.gsub(/""/, '"') !! m1
よりも
        csv.push (m2.gsub(/""/, '"') rescue m1)

の方が、パッと見て、意味が通り易いかと。優先順位も悩まないし。
という事で、話は一週間前に戻りますが、

>>  (a) 後置rescue(rescue修飾子)の採用

がいいと思います。

あ、でも、
        value = m2.gsub(/""/, '"') !! m1
なんてのは、
        value = (m2.gsub(/""/, '"') rescue m1)

よりも読み易い気がするなぁ。。。(結局、結論が出ない人)

------------------------------------------------------------------
九州大学大学院システム情報科学研究科 情報工学専攻 博士後期課程三年
      西 和則   ( e-mail: kazunori@swlab.csce.kyushu-u.ac.jp )
------------------------------------------------------------------

In This Thread