From: Masaki Suketa Date: 2000-05-07T10:45:20+09:00 Subject: [ruby-list:22355] Re: runit 助田です.まだ迷ってます. In message "[ruby-list:22342] Re: runit" on 00/05/07, Masatoshi SEKI writes: 0.0.6 を公開した後で,一晩考えて,true でないと駄目というのは ちょっと行きすぎだったかと思い始めています. 咳さんの > assert() は真であることの検査をする方がよいと思います。(偽であれば例外) > Rubyの条件判断の基礎(primitive!?)な部分と同じだから、というのが理由です。 > (充分だし一貫性がある) というのが適当ではないかと思い始めているんです. if condition result = "ok" else result = "not ok" end で result が "ok" なのに assert(condition) が例外になる場合がある というのは,かえって混乱の元ではないかと. で, + assert(condition) condition が「偽」の場合に例外になる. unless condition raise AssertionFailedError end + assert_true(conditon) condition が true でない場合に例外になる. if condition != true raise AssertionFailedError end + assert_false(condition) condition が false でない場合に例外になる. if condition != false raise AssertionFailedError end + assert_nil(condition) condition が nil でない場合に例外になる. if !condition.nil? raise AssertionFailedError end + assert_not_nil(condition) condition が nil の場合に例外になる. if condition.nil? raise AssertionFailedError end と5つ用意しておくというのを考えたんですけど,どう思います? (assert_nil と assert_not_nil は既に 0.0.6 にあるので assert_true と assert_false を追加して 咳さんの案を assert の仕様として 石橋さんの案は assert_true として別に用意する というものです.) > と書いてたら[ruby-list:22332]で助田さんがassert()の仕様を > 決定されたようですね。 決定というほどのものではなく,このように私はまだ迷っています. とりあえずこうしてみたという程度に考えてください. 反対意見や他の案などいろいろ聞かせていただけるとありがたいです. 助田 雅紀