访问数组中的元素时,使用方括号,如下所示:
{'X is an int and Numbers is an int array'}
X := Numbers[8];
Run Code Online (Sandbox Code Playgroud)
但是,在阅读其他人的代码时,我有时会发现以下语法:
{'PBox , SBox1 , SBox2 are arrays of int , And X,Y are ints'}
Result := Result or PBox(.SBox1[X] or SBox2[Y].);
Run Code Online (Sandbox Code Playgroud)
PBox(someNumber)?这是访问数组元素的另一种方法吗?And*_*and 16
是的,现在我看到你做了什么.
事实上,(.并且.)只是编写[和]Delphi的替代方式(但非常罕见!).
如果PBox是一个数组,那么PBox[a](或等价地PBox(.a.))将需要a一个整数,对吗?而如果SBox1[x]和SBox2[Y]是整数,所以是按位or他们.(Bitwise or是一个采用两个整数并返回一个新整数的操作.)因此,PBox(.SBox1[X] or SBox2[Y].)是(SBox1[X] or SBox2[Y])数组中的第th个元素PBox,即整数.因此,计算在这个整数or之间的按位是有意义的Result,这是完成的:
Result := Result or PBox(.SBox1[X] or SBox2[Y].);
Run Code Online (Sandbox Code Playgroud)