为什么在R,Excel和VBA中男性>女性等于TRUE?用其他语言怎么样?

Ana*_*a 秀 6 excel vba r excel-vba

我正在学习这门课程:在DataCamp和一个练习(性别之战)中介绍R,有一个这样的指令:

阅读编辑器中的代码,然后单击"提交答案"以测试是否male 大于(>)female

上面的指令激发了我在RStudio中测试以下代码:

'Male' > 'Female'
Run Code Online (Sandbox Code Playgroud)

令我惊讶的是,R给了我输出TRUE!我也试过Excel和VBA,两者都想出了输出TRUE!现在,我开始认为他们是用性别歧视观点编程的语言(开玩笑,呵呵......).

在此输入图像描述

所以我想知道,这里到底发生了什么?有谁能在这里向我解释一下吗?TRUE对于其他编程语言,这也适用吗?为什么?

Flo*_*ian 15

对于R,请参阅此处help('>')的文档,以及有关排序规则的维基百科链接:

"字符向量中的字符串比较是使用所使用的语言环境的整理顺序在字符串中进行词典编辑:请参阅语言环境.诸如en_US之类的语言环境的整理顺序通常与C(应该使用ASCII)不同,并且可能会令人惊讶.对整理顺序作出任何假设:例如,爱沙尼亚语Z介于S和T之间,整理不一定是逐个字符 - 在丹麦语中,在z之后作为单个字母排序.

总结一下; 在您的语言环境中,"F"的值小于归类序列中的"M"值,因此Mxxx大于Fyyy.

  • 你的意思是"......因此'Fyyy`比'Myyy`小",或者说"......因此`Myyy`比'Fyyy`大"? (2认同)

小智 5

在其他语言(例如 C#)中,您无法将字符串与

   "Male" > "Female"
Run Code Online (Sandbox Code Playgroud)