具有源自相同内部类型的两个子类型的类型声明,我们如何为每个子类型具有不同的记录助手?
例:
type
SingleA = Single;
SingleB = Single;
_SingleA = record helper for SingleA
procedure DoThingsToA;
end;
_SingleB = record helper for SingleB
procedure DoThingsToB;
end;
Run Code Online (Sandbox Code Playgroud)
如果我声明一个类型为SingleA的var,我总是从类型SingleB获得帮助,我知道如果我们覆盖相同的内部类型这是正常的行为,但为什么它会发生在不同的类型?
任何帮助非常感谢...
提前致谢.
问候Delphian堆垛机.
我搜索了网站,所有"排列等级和排名"相关的讨论,找不到符合我需求的那个.
在德尔福:
有一个数组:
Members: array [0..3] of Byte = (0,1,2,3);
Run Code Online (Sandbox Code Playgroud)
如果想要迭代由3个元素组成的所有不同排列,可以估计结果列表将由24行组成,按字典顺序排列为:
0 012
1 013
2 021
3 023
4 031
5 032
6 102
7 103
8 120
9 123
10 130
11 132
12 201
13 203
14 210
15 213
16 230
17 231
18 301
19 302
20 310
21 312
22 320
23 321
Run Code Online (Sandbox Code Playgroud)
可以使用"n选择k"公式计算列表的大小,其中"n"表示成员数,"k"表示选择数:
p(n,k) = n! / (n-k)!
p(4,3) = 4! / (4-3)! = (4 x 3 x 2 x 1) / …Run Code Online (Sandbox Code Playgroud)