[#21157] あったらうれしいメソッド to_n, to_n!, to_s! — ogino@...

荻野です。あったらうれしいメソッドということで書いてみます。

16 messages 2000/03/03

[#21159] メソッドの入り口 — ogino@...

荻野です。もうひとつご指導ください。

93 messages 2000/03/03
[#21170] Re: メソッドの入り口 — Shin-ichiro Hara <sinara@...> 2000/03/03

原です。

[#21243] Re: メソッドの入り口 — keiju@... (石塚圭樹) 2000/03/07

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

[#21247] Re: メソッドの入り口 — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/07

[#21267] 引数コピーとオブジェクト指向 (Re: メソッドの入り口) — Hideto ISHIBASHI <s34204@...> 2000/03/08

石橋秀仁です。

[#21272] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — 中村暁史 Nakamura Akifumi <BXQ04723@...> 2000/03/08

[#21276] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — nobu.nakada@... 2000/03/09

なかだです。

[#21279] Re: 引数コピーとオブジェクト指向 (Re: メソッドの入り口 ) — ogino@... 2000/03/09

oop未満の世界観の荻野です。

[#21282] Re: 引数コピーとオブジェクト指向 — Tomoyuki Kosimizu <greentea@...2.so-net.ne.jp> 2000/03/09

越水です。

[#21285] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21293] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/10

松尾です。

[#21297] Re: 引数コピーとオブジェクト指向 — ogino@... 2000/03/10

荻野です。

[#21302] Re: 引数コピーとオブジェクト指向 — 土岐 仁謙 <toki@...> 2000/03/10

土岐です。

[#21371] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21374] Re: 引数コピーとオブジェクト指向 — TADA Tadashi <sho@...> 2000/03/13

ただただしです。

[#21365] Re: 引数コピーとオブジェクト指向 — Matsuo Hisanori <hisanori@...> 2000/03/13

松尾です。

[#21280] raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp>

24 messages 2000/03/09
[#21283] Re: raise non-Exception object — nobu.nakada@... 2000/03/09

なかだです。

[#21315] Re: raise non-Exception object — Kenichi Komiya <kom@...3.rim.or.jp> 2000/03/11

[#21342] Re: raise non-Exception object — nobu.nakada@... 2000/03/12

なかだです。

[#21384] ruby 1.4.4 — matz@... (Yukihiro Matsumoto)

まつもと ゆきひろです

35 messages 2000/03/13

[#21442] 配列内のソート — Takayuki Tanaka <tanaka@...>

こんにちは Tanです。

16 messages 2000/03/15

[#21583] ruby for Web — TAKAHASHI Masayoshi <maki@...>

高橋征義です。

27 messages 2000/03/22
[#21584] Re: ruby for Web — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/03/22

なひです.

[#21649] net-1.1.10 — TAKAHASHI Masayoshi <maki@...>

高橋征義です。net/http 使いたおし中。

17 messages 2000/03/27

[#21669] new version of mod_ruby & eRuby — Shugo Maeda <shugo@...>

前田です。

14 messages 2000/03/28

[ruby-list:21397] Re: raise non-Exception object

From: Kenichi Komiya <kom@...3.rim.or.jp>
Date: 2000-03-13 19:34:49 UTC
List: ruby-list #21397
小宮です。

From: matz@netlab.co.jp (Yukihiro Matsumoto)
Subject: [ruby-list:21358] Re: raise non-Exception object
Date: Mon, 13 Mar 2000 08:22:12 +0900

> まつもと ゆきひろです
> 
> えーと、Cのコードとは
> 
>     rb_raise(rb_eTypeError, "exception class/object expected");
> 
> のようなものでしょうか? Cは引数の数(や型)を受取側で認識する
> ような芸当ができませんから、それに対応するための exception 
> のようなトリックも用意してません。

つまりexceptionはオブジェクトの例外としての表現(?)を返すものとして意図
されているわけですね。raiseの第一引数に文字列を渡した場合の動作は
String#exceptionがRuntimeError.new(self)と定義されているようなイメージ
でしょうか。

考えてみれば組み込みクラスのto_sがString.newを呼ぶわけではないし(そりゃ
そうだ)、呼ばないでそろってる方が一貫性があっていい気がしてきました。

> |htmlへの差分でよければ(英語も用意して)パッチにして送りなおしますが、受
> |けつけ中でしょうか?
> 
> 受付中です。ドキュメントパッチ大歓迎。

書きました。

exceptionを呼んで例外に変換してから例外を発生させるという説明にしてみま
した。形式や内容に不備がなければ英語版も用意します。

SignalExceptionの「rescueでは補足できません。」もついでに削ってみました。

小宮
kom@t3.rim.or.jp


*** syntax.html.dist	Tue Mar 14 01:22:18 2000
--- syntax.html	Tue Mar 14 01:45:24 2000
***************
*** 1671,1676 ****
--- 1671,1684 ----
  ます.
  </P>
  <p>
+ 例外ではないクラスやオブジェクトを第一引数に指定した場合,実際
+ に発生する例外はそのクラスやオブジェクトの
+ <code>exception</code>メソッドが返す値になります.(第二の形式
+ で文字列を指定した場合は除きます.)<code>exception</code>メソッ
+ ドはオブジェクトを例外に変換した値を返すように定義しておく必要
+ があります.
+ </p>
+ <p>
  <code>raise</code> は Ruby の予約語ではなく,<a href="Kernel.html">
  <code>Kernel</code></a> モジュールで定義されている関数的メソッドです.
  <code>raise</code> には <code>fail</code> という別名も定義さ

*** function.html.dist	Tue Mar 14 02:03:01 2000
--- function.html	Tue Mar 14 01:51:54 2000
***************
*** 485,490 ****
--- 485,498 ----
  ます.
  </P>
  <p>
+ 例外ではないクラスやオブジェクトを第一引数に指定した場合,実際
+ に発生する例外はそのクラスやオブジェクトの
+ <code>exception</code>メソッドが返す値になります.(第二の形式
+ で文字列を指定した場合は除きます.)<code>exception</code>メソッ
+ ドはオブジェクトを例外に変換した値を返すように定義しておく必要
+ があります.
+ </p>
+ <p>
  <code>raise</code> には <code>fail</code> という別名が定義さ
  れています.
  </p>

*** Exception.html.dist	Tue Mar 14 01:55:34 2000
--- Exception.html	Tue Mar 14 01:54:39 2000
***************
*** 29,39 ****
--- 29,45 ----
        <dt><h2>クラスメソッド:</h2>
        <dd>
        <dl compact>
+ 	<dt><a name="class_exception">
+ 	    <code>exception([<var>error_message</var> = ""])</code></a></dt>
  	<dt><a name="new"><code>new([<var>error_message</var> = ""])</code></a></dt>
  	<dd>
  	  <p>引数としてエラーメッセージを表す文字列を与えることができます.
  	    このメッセージはデフォルトの例外ハンドラで表示されます.
  	  </p>
+ 	  <p>
+ 	    <code>exception</code>は<a href="function.html#raise"><code>raise</code></a>
+             の内部で使われています.
+ 	  </p>
  	</dd>
        </dl>
        <dt><h2>メソッド:</h2>
***************
*** 50,55 ****
--- 56,69 ----
  	      </dl>
  	      という形式(デフォルトでは)の<code>String</code>の配列です.</p>
  	  </dd>
+ 	  <dt><a name="exception"><code>exception</code></a></dt>
+ 	  <dd>
+ 	    <p>
+ 	    <code>self</code>を返します.このメソッドは<a
+ 	    href="function.html#raise"><code>raise</code></a>内部で使われ
+ 	    ています.
+ 	    </p>
+ 	  </dd>
  	  <dt><a name="message"><code>message</code></a></dt>
  	  <dt><a name="to_s"><code>to_s</code></a></dt>
  	  <dt><a name="to_str"><code>to_str</code></a></dt>
***************
*** 96,102 ****
        <dt><h1><a name="SignalException">SignalException</a></h1>
        <dd>
  	<p><code>signal(2)</code>を受け取ったときに発生します.
! 	<code>rescue</code>で捕捉できません.</p>
        <dt><h2>スーパークラス:</h2>
        <dd> 
  	<dl>
--- 110,116 ----
        <dt><h1><a name="SignalException">SignalException</a></h1>
        <dd>
  	<p><code>signal(2)</code>を受け取ったときに発生します.
! 	</p>
        <dt><h2>スーパークラス:</h2>
        <dd> 
  	<dl>

In This Thread