1

Rebol 和 Red 将普通equal?函数(简称为 中缀=)视为一种“自然平等”。1 = 1.0因此,即使一个是整数而另一个是浮点数,它也愿意进行比较......并且默认情况下不区分大小写地比较字符串和字符。

strict-equal?函数区分大小写,要求事物具有相同的数据类型,并绑定为==中缀。(还有一个strict-not-equal?函数 as !==。)

但是,其他比较运算符似乎没有严格的变体。如何使用框中的原语实现 astrict-greater?或 astrict-lesser-or-equal?等?

例如,行为将是:

>> strict-lesser? "A" "a"
== true
4

1 回答 1

2

正如endo64指出的那样,字符串是绊脚石,但由于它们的组件、字符具有所需的严格不等式,因此解决方案似乎是逐个字符地比较字符串(“按字典顺序”,如果您愿意的话)。这适用于 Rebol2、Rebol3 和 Red。

于 2015-05-09T12:42:35.153 回答