Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Language agnostic 在基于0的索引系统中,人们是否将索引0处的元素称为“0”;“第一”;或;第零个“;元素?_Language Agnostic_Terminology_Conventions - Fatal编程技术网

Language agnostic 在基于0的索引系统中,人们是否将索引0处的元素称为“0”;“第一”;或;第零个“;元素?

Language agnostic 在基于0的索引系统中,人们是否将索引0处的元素称为“0”;“第一”;或;第零个“;元素?,language-agnostic,terminology,conventions,Language Agnostic,Terminology,Conventions,例如,在Java/C++中,您是否随意地说'a'是“abc”的第一个字符,还是第零个字符 人们是说两者都有,而且总是模棱两可,还是有一个实际的惯例 维基百科在文章中引用的一段话: 在计算机科学中,数组引用通常也从0开始,因此计算机程序员可能在其他人可能首先使用的情况下使用零,以此类推 这似乎支持了一个假设,即它总是模棱两可的 感谢Alexandros Gezerlis()找到这句话,摘自Allen B.Downey、Jeffrey Elkner和Chris Meyers的《如何像计算机科学家

例如,在Java/C++中,您是否随意地说
'a'
“abc”
的第一个字符,还是第零个字符

人们是说两者都有,而且总是模棱两可,还是有一个实际的惯例


维基百科在文章中引用的一段话:

在计算机科学中,数组引用通常也从
0
开始,因此计算机程序员可能在其他人可能首先使用的情况下使用零,以此类推

这似乎支持了一个假设,即它总是模棱两可的


感谢Alexandros Gezerlis()找到这句话,摘自Allen B.Downey、Jeffrey Elkner和Chris Meyers的《如何像计算机科学家一样思考:用Python学习》:

“banana”
的第一个字母不是
a
。除非你是计算机科学家。出于反常的原因,计算机科学家总是从零开始计数。
“banana”
的第0个字母(零eth)是
b
。第1个字母(一个eth)是
a
,第2个字母(两个eth)是
n

这似乎表明,作为计算机科学家,在处理基于0的索引系统时,我们应该拒绝“第一”、“第二”等自然语义


这段引语表明,可能对某些语言有官方规定,因此我提出了这个问题
[语言不可知]
它是数组中的第一个字符或元素,但它位于索引零处。

可能是主观的,但我称之为第一个元素或元素零。这是第一个,撇开艾萨克·阿西莫夫的机器人学定律不谈,我甚至不相信零是一个真正的词:-)

根据定义,在第一个之前的任何东西都会成为第一个,并将其他所有东西都推到第一个之外。

引自:

而“第零”一词本身并不是 模棱两可,它会为 项目的所有后续要素 缺少上下文时的顺序,因为 它们被称为“第一”,“第二”, 与正常情况相冲突 这些词的日常意义


所以我想说“first”。

术语“first”与数组的绝对索引无关,只是它作为索引最低的元素的相对位置。例如,turbopascal允许数组中的任意索引(比如从5到15)。位于数组[5]的元素仍然被称为第一个元素。

这取决于你是否是艾萨克·阿西莫夫系列的粉丝。

绝对是第一个,直到今天才听到第零个

我同意这里的大多数答案,即第一个字符的索引为零,但为了记录在案,以下内容摘自艾伦·唐尼的《软件设计的Python》:

因此,b是的第0个字母(“零eth”) “香蕉”,a是第1个字母 (“一个eth”),n是第2个 两封信

因此,他通过以下两种方式消除歧义:

a) 一个数字,然后是“th”,或
一个词,然后是“-Eth.”

< P> C和C++标准称“初始元素”和“第一元素”,意思是同一事物。如果我记得很清楚,我会说“初始”、“第零次”或“从零开始第一次计数”。但通常我会说“第一”。香蕉的东西要么是幽默夸张,要么有点疯狂(我怀疑是前者——这只是一种解释0索引的方式)。我想我不知道有谁会说“第一个”来表示“0索引数组的索引1”,除非他们在同一段中首先说了“第零个”来明确他们的意思。

不是Turbo-Pascal,只是Pascal:)这是
[主观的]
直到有人指向一个权威的建议,该建议以这种或那种方式进行管理。然后它就变成了报价的
[最佳实践]
+1。如果不是权威性的,至少是可信的消息来源,让我们以这样或那样的方式获得更多的裁决。请注意,引用使用了“第1次”和“第1次”,而不是“第一次”和“第1次”。我其实很喜欢这个系统,;对我来说,任何朝着数学精确和远离自然语言歧义/不规则的方向发展的东西都是一件好事。当然,但我也不知道有谁会说“一次”。“我认为他们只是假设性地提出它,作为基于0的数组索引的特征,如果它被用作演讲中的一组序数的话。”史蒂夫·杰索普——关于幽默夸张的问题或它是假设性的:也许吧。另一方面,在不同的页面上,作者实际上使用了相同的符号,因此这表明他将其视为术语(可能是他自己的发明):“运算符[n:m]将字符串的一部分从‘n-eth’字符返回到‘m-eth’字符,包括第一个字符,但不包括最后一个。”,定义术语也有意义。我很惊讶他们把它说成“对一个计算机科学家来说,‘香蕉’的第一个字母是‘a’”,因为这不是他们定义的术语,在我的经验中也是不正确的。“一个eth”、“两个eth”、“第1个”、“第2个”、“第3个”没有显示相关的谷歌点击。同意(a.k.a.+1),尽管他们没有将香蕉的第一个字母定义为a,只有第1个字母。这就是为什么我引用了下一版的书(只有一位作者)中没有“成为计算机科学家”的部分。该死的好观点!此外,“zeroth”很尴尬,听起来像是一种语言障碍。