Ale*_*son 75 arrays indexing programming-languages
C编程语言被称为零索引数组语言.使用可访问数组中的第一项0.例如double arr[2] = {1.5,2.5},数组中的第一项arr位于位置0. arr[0] === 1.5哪些编程语言是基于1的索引?
我听说这些语言从1开始而不是0开始用于数组访问:Algol,Matlab,Action !, Pascal,Fortran,Cobol.这完整吗?
具体而言,基于1的阵列将访问具有1的第一项,而不是零.
LJM*_*LJM 62
列表可以在维基百科上找到.
ALGOL 68
APL
AWK
CFML
COBOL
Fortran
FoxPro
Julia
Lua
Mathematica
MATLAB
PL/I
Ring
RPG
Sass
Smalltalk
Wolfram Language
XPath/XQuery
Run Code Online (Sandbox Code Playgroud)
Adr*_*ith 19
Fortran从1开始.我知道因为我的爸爸在我出生之前曾经为Fortran编程(我现在33岁)并且他真的批评现代编程语言从0开始,说它不自然,不是人类的想法,不像数学,和等等.
但是,我发现从0开始的事情非常自然; 我的第一个真正的编程语言是C和*(ptr + n)如果n没有从零开始就不会那么好用!
DVK*_*DVK 14
在"数组系统交叉引用列表"表(默认基本索引列)下的" 编程语言比较"(数组)下,维基百科上有一个非常大的语言列表
这对一般的1-对0索引和订阅有很好的讨论
引用博客:
EWD831,EW Dijkstra,1982年.
当处理长度为N的序列时,我们希望通过下标区分其中的元素,下一个令人烦恼的问题是要分配给其起始元素的下标值.遵循惯例a)产生,当以下标1开始时,下标范围1≤i<N + 1; 然而,从0开始,给出更好的范围0≤i<N.因此,让我们让我们的序数从零开始:元素的序数(下标)等于序列中它前面的元素数.这个故事的寓意是,在所有这几个世纪之后,我们更好地考虑了 - 零作为最自然的数字.
备注::许多编程语言的设计都没有对此细节给予足够的重视.在FORTRAN下标总是从1开始; 在ALGOL 60和PASCAL中,已采用惯例c); 最近的SASL已经回归到FORTRAN惯例:SASL中的序列同时是正整数的函数.可怜!(备注结束.)
Thi*_*ilo 11
你可以在Perl中完成
$[ = 1; # set the base array index to 1
Run Code Online (Sandbox Code Playgroud)
如果您愿意,也可以从42开始.这也会影响字符串索引.
实际上非常不鼓励使用此功能.
Sch*_*ler 11
同样在Ada中,您可以根据需要定义数组索引:
A : array(-5..5) of Integer; -- defines an array with 11 elements
B : array(-1..1, -1..1) of Float; -- defines a 3x3 matrix
Run Code Online (Sandbox Code Playgroud)
有人可能会争辩说,用户定义的数组索引范围会导致维护问题.但是,以不依赖于数组索引的方式编写Ada代码是正常的.为此,该语言提供了元素属性,这些属性是为所有已定义的类型自动定义的:
A'first -- this has the value -5
A'last -- this has the value +5
A'range -- returns the range -5..+5 which can be used e.g. in for loops
Run Code Online (Sandbox Code Playgroud)
JDBC(不是语言,而是API)
String x = resultSet.getString(1); // the first column
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48730 次 |
| 最近记录: |