我在Stack Overflow上提出了一个关于表格索引的问题。虽然得到了答案,但有人将单词indices
改成了indexes
。
我们知道Index
的复数形式是Indices
,但几乎所有人都更喜欢使用“错误”的单词。
还有哪些类似于这样的“错误”术语,它们本不应该如此,但却正在取代它们的“正确”对应词?
我在Stack Overflow上提出了一个关于表格索引的问题。虽然得到了答案,但有人将单词indices
改成了indexes
。
我们知道Index
的复数形式是Indices
,但几乎所有人都更喜欢使用“错误”的单词。
还有哪些类似于这样的“错误”术语,它们本不应该如此,但却正在取代它们的“正确”对应词?
"Indices"是数学术语,而出版界使用的是"indexes"(这可能是为什么许多IT人认为“indices”比“indexes”更正确的原因)。
我认为表索引类似于书中的索引,而不是数学中的指数,因此在这种情况下,出版物中的复数形式是适当的。
此外,至少在Oracle中,数据字典视图被称为DBA_INDEXES、ALL_INDEXES和USER_INDEXES。在领域中使用相同的术语通常是一个好主意。
大多数人不知道"数据"是复数形式,而"data"是单数形式。你有多少次听到过"a single data point?"
但即便如此,我们中的一些人也觉得它听起来很傻,并且几乎从不使用它。
语言是变化的,"datum"可能正在成为过时的用法!
总结答案如下:
在英语中,两个单词都经常用作复数形式的 index。 拉丁语风格的 indices 在科学和数学环境中更为普遍,例如公式中数组的(下标)指数。 但是 indexes 在出版物(“期刊索引”)和美式英语中似乎更加流行。
有人认为独特使用 indices 作为名词 index 的复数形式具有价值,而不是动词 index 的第三人称单数现在时 indexes。(“他为所有TPS报告建立索引,可以在循环文件中找到这些索引。”)
一些人认为简单的数字偏移数组 indices 和数据库 indexes 或全文 indexes 的更复杂的数据结构之间存在微小的区别。(“索引已损坏,因为更新代码在其索引中存在一个偏移量错误。”)
这些区别足够微妙,以至于只有在紧密联系的实践社区内记录并强制执行其首选项才可能得以保持,就像某种本地权威风格指南一样。
在代码中命名变量时:
使用 indexes
具有常见的属性,即简单的 grep 搜索 index
也会找到该复数形式。 当寻找间接引用相同偏移量的方式时,这可能会有所帮助。
target_index = 0
indexes[target] = 0
indexes['target'] = 0
target = len(indexes)
indices
没有这个属性,所以我更喜欢在代码中使用 indexes
。
根据webster.com, "indexes" 和 "indices" 都是正确的拼写方式;"indexes" 排名第一。
话虽如此,由于 "indices" 本来就是正确的,我不认为编辑并将其替换为 "indexes" 是适当的。
这个页面提出了一个好点子,建议使用“Indices”作为名词的复数形式,以区别于动词。 摘要 所以,总之,在技术背景和写作中 - 更接近于科学 - 为了将其与动词区分开来,“Indices”是数据库术语中首选的复数形式。指数的复数形式:indexes 或尤其在技术用途中为 indices
指数的复数通常拼写为 indexes,但在科学和医学等学科中也可以拼写为 indices(如原始的拉丁文)。
这只是关于千字节/兆字节/千兆字节讨论的延续。英语语言不断发展,词典并不是要遵循的规则书,而是对该语言在特定时期使用情况的一个快照。如果我们选择以不同的方式使用一个单词,那么韦伯斯特就应该跟上脚步。
指数(来自拉丁语)在科学工作中使用,但索引通常用于其他情况。因此,在这种情况下使用索引是正确的。
来自Indexes versus indices(我强调):
......使用-s或-es标记复数的标准英语方式已逐渐被采用......这就是为什么我们现在更喜欢crematoriums而不是拉丁语的crematoria和forums而不是fora,尽管一些作家仍然经常使用拉丁语复数形式。
指数在科学工作中幸存了下来,特别是在数学中。......通常的复数形式是indexes,它首次出现在17世纪。