[#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:8377] Re: Exception handling

From: Kazunori NISHI <kazunori@...>
Date: 1999-11-19 08:05:04 UTC
List: ruby-dev #8377
西@九大です。

From: WATANABE Hirofumi <Hirofumi.Watanabe@jp.sony.com>
> :>>  (a) 後置rescue(rescue修飾子)の採用
> 
> あれ? 既に実装済みってことはまだ知られてないのかな?

あ、本当だ!がーん、知りませんでした。。。

From: keiju@Rational.Com (石塚圭樹)
> この例を見ていて気が付きましたが, !!/rescue の後の値(式)を利用したいんで
> すね...

はい、そうです。どうやら、重要な事を伝え損なっていた感じが。。。

> こういう使い方なら演算子のほうがよいでしょうね. 上記2つの例とも``!!''を
> 使った方が見やすいと思います.

ぐはっ!やっぱりそうですよね。僕もそう思ってました。(今日のコウモリ)。

で、やはり &&(and),||(or) と同じ感覚で、!!(rescue) の両方が欲しいです。
演算子の名前も、"&&", "||" と同じ用途(例えば代入)で利用される事を期待
されている事から似た形(同一記号が2つ)がよく、一番「例外」を想起させる
記号は "!" である事から、"!!" がよいです。

    initial_class = ARGV.shift || 'Object'
    initial_class = eval(ARGV.shift) !! Object

はい、どちらも違和感なく読めますね。。。(読める、って言ってよー!)

> 現行のRubyの例外の使い方は, ホントのエラーの時ぐらいしか使っていませんが,
> より例外ベースのプログラミングもしやすくなりますね.

はい、それがまさに目指している、というか、興味がある事なんです。「例外
ベース」というのはいい名前ですね。一般的な用語なのでしょうか?

    if line = f.gets
      Kconv(line, $KCODE)
    else
      nil
    end

でもいいけど、

    Kconv(f.gets, $KCODE) !! nil

というコーディングの仕方(考え方)もある。むしろ、そちらがより自然(本来
の人間の思考に添う)なのではないか?とまで思います。

「目的」を行う為に、「(それが成立する)条件」を考える作業は果して必須な
のか?コストが高い上に、本来の目的に対する意識を弱める事さえあるのでは
ないだろうか?

で、これまでは「処理の委譲」的な役割が大きかった「例外処理」を、この考
えに積極的に利用できないだろうか。「プログラミングパラダイムの変換」ま
では行かずとも、「コーディングパラダイム(?)の変換」ぐらいは言えるかも。

という絵を描いており、その為にも、演算子による表記法が必要なのです。

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

In This Thread