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