咳といいます。


> > うむむ。それは if などで普段使ってる condition があったとして、
> >   assert(condition)
> > ではなく、
> >   assert((condition) ? true : false)
> > のように書くべきということでしょうか?
> 
> 一言で言うと、
>   assert(表明)をするなら、曖昧さを排除して、
>   「疑わしければ失格」とする、厳しい検査がおすすめ。
> ということです。

えっと

 「この状況では condition が真でなければならない」と表明する場合
 condition の返す値が Ruby の真であれば良いのではないでしょうか ?
 「真」の中の代表的な値 true でないといけないなものなのでしょうか ?
 # もちろん、conditionの具体的な値に興味が無くて真であることが分かれば
 # 充分な場合の話です。

という質問でした。

RubyのtrueってCで  #define TRUE 1  とか定義したTRUE程度の意味しか
無いような印象がありましたが理解が足りないのかな。


以下は私の意見です。

assert() は真であることの検査をする方がよいと思います。(偽であれば例外)
Rubyの条件判断の基礎(primitive!?)な部分と同じだから、というのが理由です。
(充分だし一貫性がある)

ある式expが疑似変数true、定数TRUEであることを表明したいときは、
次のようにできます。

   assert(exp == true)
   assert_equal(true, exp)


と書いてたら[ruby-list:22332]で助田さんがassert()の仕様を
決定されたようですね。

あまり強い意見でないので気にしないでください。
お騒がせしました。