[#1562] Re: rbdj1227.lzh —
わたなべです.
[#1582] [BUG] Regexp — sinara@...
原です。あけましておめでとうございます。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
[#1583] jchop — WATANABE Hirofumi <watanabe@...>
わたなべです. おめでとう.
[#1614] [tk] Cannot execute some samples — Eiji-usagi-MATSUmoto <ematsu@...>
まつもと@ぴーえふゆーと申します。はじめまして。
[#1625] matz has back! — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1639] Script for making Index of Ruby Manual — s.suda@...
須田です。
[#1655] [Q] Use of '==', 'eql?' and 'hash' — sinara@...
原です。
[#1667] [Q] Use of Thread and Mutex — sinara@...
原です。
まつもと ゆきひろです.
原です。
原です。
[#1670] [Q] Timeout in Socket (Re: [Q] Use of Thread and Mutex) — sinara@...
原です。
まつもと ゆきひろです.
[#1677] ruby-1.0-970110 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1682] 組み込みクラスのメソッド .htm — (Dezawa Shin-ichiro) <dezawa@...>
出沢です
[#1688] Ruby 1.0-970110 on NeXTSTEP — SHIROYAMA Takayuki <psi@...>
[#1705] 正規表現 単独の ? — Sinichiro Dezawa <dezawa@...>
出沢です
まつもと ゆきひろです
matz> rubyの使っているGNUの正規表現ルーチンのデフォルトではパター
わたなべです.
まつもと ゆきひろです.
[#1720] ruby 1.0-970116 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1723] in-place edit on djgpp/win32 — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです.
[#1753] Usage of Menu — Noritugu Nakamura <nnakamur@...>
[#1762] ruby 1.0-970118 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1771] rectangle of canvas widget — Noritugu Nakamura <nnakamur@...>
原です。
まつもと ゆきひろです
原です。
まつもと ゆきひろです.
原です。
[#1788] Text of TkCanvas — Noritugu Nakamura <nnakamur@...>
まつもと ゆきひろです.
まつもと ゆきひろです.
まつもと ゆきひろです.
わたなべです.
[#1794] Filetest error on Ruby-DJ — s.suda@...
須田です。
[#1833] GD.c revised — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
[#1865] ruby-1.0-960124 available — matz@... (Yukihiro Matsumoto)
まつもと ゆきひろです
わたなべです.
まつもと ゆきひろです.
わたなべです.
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
まつもと ゆきひろです.
まつもと@ぴーえふゆーです。
[#1871] None — (Dezawa Shin-ichiro) <dezawa@...>
でざわです
[#1875] toplevel of Tk — Noritugu Nakamura <nnakamur@...>
[#1899] [Dist] Mutex — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
[#1926] [Dist] Mutex module — keiju@... (Keiju ISHITSUKA)
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
けいじゅ@SHLジャパンです.
原です。
けいじゅ@SHLジャパンです.
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
まつもと ゆきひろです.
原です。
出沢です
まつもと ゆきひろです.
原です。
[#1953] open (file descriptor) — j_kuro@... (Jun Kuroda)
黒田です.
まつもと ゆきひろです.
黒田です.
原です。
まつもと ゆきひろです.
[ruby-list:1611] Re: jchop
出沢です
# 反対意見を述べているのではありません。
》From: sinara@blade.nagaokaut.ac.jp
》Subject: [ruby-list:1610] Re: jchop
》Date: Mon, 6 Jan 97 21:14:26 JST
> 原です。
>
> From: Sinichiro Dezawa <dezawa@miya.fujifilm.co.jp>
> > > 最近、「メソッドが nil に対して用意されていない事で例外が起こる」
> > > という事が、ずいぶん便利に思えてきました。この例外が起こらない様
> > > にプログラムを書くことで、論理がすっきりするみたいです。例えば
> >
> > わからん 。
> > 詳しく説明してもらえます?
>
> いえ、別に難しいことを言っているんでは無くて、変な所に nil が
> 出てきたたら、その前のコードでバグを入れている可能性が高いと
> いうことです。
>
> 例えば fname = "/foo/bar" というファイルのベースのファイル名
> を bar の文字数をカウントしたい時、
>
> fname =~ /[^\/]+$/
> print $&.length, "\n"
>
> と書けますが、これに fname = "/foo/bar/" を食わせると、例外で
> 止まります。つまりこれは、趣旨に合わない入力がなされている事
> を教えてくれてるわけです。(Perl だったら素通しで 0 を返すで
この例はバグというよりは 意図しない入力がされた って事ですよね。
で、入力チェックをどうするか って問題があって、
1 プログラムを止めてしまう
2 入力が正しくないとして、正しい入力を促す。
または処理を中断して、次の入力を待つ
3 入力が正しくなかった時の定められた処理をする。
の3つぐらいかな、やれる事は。
で、3番目はそのルーチンの目的によって内容は異なるわけで、
fname = "/foo/bar/" のときはサイズ 0 で処理するのが嬉しい
事だってあるでしょう。
だから、例外で止まってしまう のは debug には役立ちますが、
実用アプリでは困ってしまうのです。
で、この場合は 例外のトラップを設ければ解決ではありますが。
# 例外のトラップなど使える環境では無かったから今まで思い付かなかった
> foo が nil の時、 foo < "bar" は、やはり ruby に叱られるけれど、
> 出沢さんの様に意識的に nil を使っているのなら違いますが、多くの
> 場合、その前のアルゴリズムが間違っているんじゃないでしょうか。
はい、アルゴリズムに問題があるのです。
かな、、、
ruby/*.c からクラス定義と、メソッド定義を抜き出して、整理するって時、
指定した *.c では定義されていないクラスを親に持つ事があるわけ。
すると 親をたどる時などに引っかかる。
でもね、
プログラムって
『早く動く』プログラムが欲しい 時
と
早く『動くプログラム』が欲しい 時
が あり、
同時に
やり方はどうであれ、早く正しい結果 が欲しい
時もあるのです。
で、nil が入り込んでしまう アルゴリズム を精密にするよりは
紛れ込んだ nil を押え込む 方を取りたい時もあるわけです。
で、今回はこれに近いと。
>
> それに nil をマイナス無限大にするのもかなり恣意的なもので、プラ
> ス無限大にしてほしい人も結構いるんじゃないかしら。
なる。