【发布时间】:2015-03-30 14:19:51
【问题描述】:
Rebol 和 Red 将普通的 equal? 函数(提供的中缀简称为 =)视为一种“自然平等”。因此它愿意比较1 = 1.0,即使一个是整数而另一个是浮点数...并且默认情况下不区分大小写地比较字符串和字符。
strict-equal? 函数区分大小写,要求事物是相同的数据类型,并作为中缀绑定到 ==。 (还有一个strict-not-equal? 函数为!==。)
但是,其他比较运算符似乎没有严格的变体。如何使用框中的原语实现strict-greater? 或strict-lesser-or-equal? 等?
行为例如:
>> strict-lesser? "A" "a"
== true
【问题讨论】:
-
在 Rebol2 中两者都较小? “a” “A” 和更小? "A" "a" 返回假。较小? #"A" #"a" == char 为真!值。
标签: case-sensitive rebol comparison-operators rebol3 red