由于来自 python,我正在寻找与delphi5中的这个 python 代码( sets )等效的东西:
>>> x = set("Hello")
>>> x
set(['H', 'e', 'l', 'o'])
>>> y = set("Hallo")
>>> y
set(['a', 'H', 'l', 'o'])
>>> x.intersection(y)
set(['H', 'l', 'o'])
由于来自 python,我正在寻找与delphi5中的这个 python 代码( sets )等效的东西:
>>> x = set("Hello")
>>> x
set(['H', 'e', 'l', 'o'])
>>> y = set("Hallo")
>>> y
set(['a', 'H', 'l', 'o'])
>>> x.intersection(y)
set(['H', 'l', 'o'])
var
a, b, c: set of byte;
begin
a := [1, 2, 3, 4];
b := [3, 4, 5, 6];
c := a*b; // c is the intersection of a and b, i.e., c = [3, 4]
但请注意:
var
a, b, c: set of integer;
甚至不会编译;相反,您会收到“集合可能最多有 256 个元素”错误。有关 Delphi 集的更多信息,请参阅文档。
更新
抱歉,忘了提及“显而易见”(从 Delphi 程序员的角度来看):
var
a, b, c: set of char;
begin
a := ['A', 'B', 'C', 'D'];
b := ['C', 'D', 'E', 'F'];
c := a*b; // c is the intersection of a and b, i.e., c = ['C', 'D']
但是你的字符都将是字节字符——也就是说,忘记 Unicode(Delphi 5 不支持 Unicode,所以在这种情况下这并不是真正的限制)!