YamaKen
yamak****@bp*****
2006年 4月 28日 (金) 08:49:25 JST
At Thu, 27 Apr 2006 14:24:18 -0700, jun.l****@gmail***** wrote: > > YamaKen <yamak****@bp*****> writes: > > 懲りずに別案ですが、SCM_TRUTH()はどうでしょう。 > > > > if (TRUTH(scm_p_memq(key, lst))) > > if (!TRUTH(scm_p_zerop(n))) > > > > 個人的にはこれならムリヤリ感も無く受け入れ可能と感じます。 > > 個人的には英語的に変な感じを受けるので余計無理矢理感が増大してます。 > Truth はモノなので assertion に見えません (名詞だし)。 TRUTH()の評価結果がa truth valueというモノであるという意図のマク ロです。関数的マクロの名前なのに'TRUTH'が動詞でない、という事に 違和感を覚えてるのかもしれませんが、以下のいずれかのような概念で 理解してください。 (truth_value_t)a_scheme_object EVAL_TO_A_TRUTH_VALUE(assertion) 命名感覚はG_OBJECT(button)のような動詞でないマクロと同じです。 > それと truth は真理・(嘘に対して) 真実という意味合いなので、論 > 理値の真とは感覚がずれます。 こっちではなく、 > 真偽値の真の方が持つ「真さ加減」を truth とはいいますが。 この意味ですね。「真さ加減」がゼロなのがfalse。 http://www.math.csusb.edu/notes/logic/lognot/node1.html | A statement is an assertion that can be determined to be true or | false. The truth value of a statement is T if it is true and F | if it is false. ------------------------------- ヤマケン yamak****@bp*****