希腊字母是否被编程到 Swift 中?它有数字吗?请解释一下。
(1, "aplha") < (2, "beta")
//истина, так как 1 меньше 2.
//вторая пара элементов не учитывается
(4, "beta") < (4, "gamma")
//истина, так как "beta" меньше "gamma".
(3.14, "pi") == (3.14, "pi")
//истина, так как все соответствующие элементы идентичны
书中的一个例子。请告诉我,使用比较元组的例子,第一个比较是在哪里
(1, "aplha") < (2, "beta")
首先,据我所知,首先比较第一个元素,然后比较第二个元素?如果是这样的话,这里就很清楚了。
第二个例子
(4, "beta") < (4, "gamma")
//истина, так как "beta" меньше "gamma".
在这里,在第一个元素之后,第二个元素被比较,据我所知,这里让我惊讶的是希腊字母是斯威夫特,据我所知?
奇怪的是,在数值中已经有一个比较betaand gamma,尽管它们是通过括号作为纯文本写入的。有没有人在说俄语的人中甚至在 Swift 中使用希腊字母作为数值?
详细解释它是如何工作的?
中的文本按字典顺序排列,就像在常规(非计算机)词典中一样:
一个接一个地比较各个对应的字母,直到有差异(或者来自一个或两个比较文本的字母都用尽了)。
当没有差异并且两个文本的字母都用尽时,文本相等,否则第一个差异成为关系
<或>。例子:
因为前两个字母 (
t和h) 相同,但第三个字母不同:因为在(拉丁)字母表中,字母
а比字母早i。它与希腊字母没有任何联系——一个字符串
"alfa"或"Donald"相同的质量(来自拉丁字母的字符)。有双打、三打等。正如您正确指出的那样,这是类似的:
比较匹配的元素,直到有差异。(第一个元素没有区别,比较也继续 - 在第二个元素(
"beta","gamma")中已经存在差异(即,立即在第一个字母中:"b" < "g")。是的,另一个问题出现了,如何比较单个字母/字符?
这取决于具体的程序(或编程语言):
在最简单的情况下,没有选择(对于用户或程序员) - 字母的顺序是给定的且不可更改的,通常是因为它们在适当的表/编码中的数字表示,例如ASCII、ISO/IEC 8859-5或Unicode - 另请参阅字符表 Unicode。
更多开发的程序和编程语言使用所谓的Collating Sequences(排序序列),用户可以选择现成的一种(或隐式使用标准的一种)。
在最发达的环境中,用户甚至可以创建自己的排序顺序。
排序序列示例(不完整):
А < Б < В < ... < Я < а < б < в < ... < я < 0 < 1 < 2 < 3 < ... < 9)А = а < Б = б < В = в < ... < Я = я)