[#8166] jcode.rb for UTF-8 — WATANABE Hirofumi <Hirofumi.Watanabe@...>
わたなべです.
[#8168] {literal}#[]= — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
まつもと ゆきひろです
えぐち@エスアンドイー です。
まつもと ゆきひろです
えぐち@エスアンドイー です。
In message "[ruby-dev:8189] Re: {literal}#[]="
[#8175] yacc generated symbols — Masaki Fukushima <fukusima@...>
福嶋です。
[#8176] Multiple self assignment — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
まつもと ゆきひろです
もりきゅうです。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
もりきゅうです。
けいじゅ@日本ラショナルソフトウェアです.
えぐち@エスアンドイー です。
In message "[ruby-dev:8266] Re: 例外を処理する 2 項演算子"
まつもと ゆきひろです
けいじゅ@日本ラショナルソフトウェアです.
まつもと ゆきひろです
[#8204] Re: [ruby-list:18281] Re: アクセス制御について — Shugo Maeda <shugo@...>
前田です。
原です。
前田です。
けいじゅ@日本ラショナルソフトウェアです.
前田です。
[#8218] append_features — gotoken@... (GOTO Kentaro)
ごとけんです
[#8234] Syntax check in test.rb — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8259] Re: [ruby-list:18468] Re: Array doesn't include Comparable — ttate@...
立石です。
[#8290] [patch] autoupdate — EGUCHI Osamu <eguchi@...>
えぐち@エスアンドイーです。
まつもと ゆきひろです
[#8305] [patch] duplicated include in regex.c — Minero Aoki <aamine@...>
あおきです。
[#8315] Re: [ruby-list:18601] Re: [REQ] [].grep(pat){} ==> [].grep(pat).collect{} — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
新井です。
まつもと ゆきひろです
新井です。
新井です。
まつもと ゆきひろです
小松です。
まつもと ゆきひろです
ごとけんです
なかだです。
[#8319] Re: Exception handling — Jun Adachi <adachi@...>
安達@沖データと申します。
西@九大です。
けいじゅ@日本ラショナルソフトウェアです.
[#8320] constants definition in extarnal files — nagai@...
永井@知能.九工大です.
In message "[ruby-dev:8320] constants definition in extarnal files"
[#8325] rdtool-0.5.2 and racc-0.9.5/racc-0.10.0 — Katsuyuki Komatsu <komatsu@...>
小松です。
[#8330] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8332] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8353] Regexp <=> — Kazuhiro Nishiyama <nishiyama@...1.tiki.ne.jp>
こんばんは、ZnZです。
まつもと ゆきひろです
こんばんは、ZnZです。
まつもと ゆきひろです
[#8366] Re: Exception handling — Kazuhiro Yoshida <moriq.kazuhiro@...>
もりきゅうです。
[#8375] File test methods for Stat — nobu.nakada@...
なかだです。
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
[#8445] [PATCH] Ruby/Tk and ... — Koji Arai <JCA02266@...>
新井です。
新井です。
永井@知能.九工大です.
[#8446] [REQ] {enumerable, integer, range}.rand — Kazunori NISHI <kazunori@...>
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
西@九大です。
まつもと ゆきひろです
これつぐです。
まつもと ゆきひろです
[#8451] new Hash (Re: [ruby-list:19043]) — Wakou Aoyama <wakou@...>
青山です。
原です。
松で
青山です。
[ruby-dev:8319] Re: Exception handling
安達@沖データと申します。
#読むのが遅れてまして、鈍亀フォローになるのですが、、、
私もbegin .. rescue .. endを始めて見た時に、
「『勝手に終了する分には、気にしない』という使い方の時は良いけれど、
ある程度チェックしようとすると面倒臭いかなぁ。完全にチェックしたい場
合には、これで何も問題ないんだけれど。Unixのシグナル関数のように事前
登録性にできたらよいのに」
と思っていました。
それで、下のようなコードを書いてみたけれど動かないんで、それきり忘れて
いました。
#まぁ、動かないコードですから色んな意味で勘違いが入っていると思います
#が、意図を読み取って下さい。(_O_)
--
#!/usr/local/bin/ruby
=begin
この定義は標準のクラス定義の一部になって欲しい
=end
class File
@error_handlers =
{'open' => { Errno::ENOTDIR => Errno::ENOTDIR,
(略)
Errno::EINVAL => Errno::EINVAL }}
def handler (method, errno)
(@error_handlers[method])[errno]
end
alias original_open open
def open (path, mode="rw")
begin
original_open(path, mode)
rescue Errno::ENOENT
h = handler('open', Errno::ENOENT)
if (h.is_a(Proc)) then
h.call
else
h
end
end
end
end
=begin
これ以降は、ユーザが自分で書きたい
=end
class ErrorObject < Object
def to_i
0
end
end
File.handler('open', Errno::ENOENT) = ErrorObject.new
counter = File.open("henoheno").to_i
print "counter = #{counter}\n"
--
このコードを書きながら、「欲しいなぁー」と思った機能は、次の二つです。
(1) ユーザが定義可能なエラーハンドラー辞書と標準クラスからの呼出し。
さらに贅沢を言うと、PostScriptの辞書みたいにスタッカブルになっている
と、以前の状態に簡単に戻れるのでうれしい。
(2) 単独のrescue節で複数のエラーを処理できるように、現在捕まえているエ
ラーオブジェクトを仮引数で受け取りたい。
#こっちは、私が知らないだけで(仮引数でない形では)できるんじゃないかと
#思うのですが、、、
CGIの件だとこんなので対応できるんじゃないかと思うんですが、やっぱり演
算子の方がよいんでしょうか?>最初のメールの方(もりきゅうさん???)
その場で毎回書かないといけない現行方式や演算子形式よりも、こちらの方が
サボれるんではないかと思いますが、いかがでしょう?これであれば、別に新
しい識別子を導入するわけでもないですし。
--
*------* adachi@okidata.co.jp
|人∧鷲| 沖データ 第一研究所
| <女> | 安達 淳
|牛∨獅|
*------*