文档结构  
翻译进度:已翻译     翻译赏金:0 元 (?)    ¥ 我要打赏

今天的Erlang Thursday讲的是 ordsets:is_subset/2.

ordsets:is_subset/2 有两个有序集合的入参,函数会检测第一个入参是否是第二入参的子集。例如一个集合A,它是另一个集合B的子集,则集合A的每一个元素必须是集合B的元素。

SetA = ordsets:from_list(lists:seq(1, 10)).
% [1,2,3,4,5,6,7,8,9,10]
SetB = ordsets:from_list(lists:seq(2, 10, 2)).
% [2,4,6,8,10]
SetC = ordsets:from_list(lists:seq(1, 15, 3)).
% [1,4,7,10,13]
EmptySet = ordsets:new().
% []
ordsets:is_subset(SetB, SetA).
% true
ordsets:is_subset(SetA, SetB).
% false
ordsets:is_subset(SetC, SetA).
% false
第 1 段(可获 0.81 积分)

有几个事实要跟不熟悉集合理论的同学讲讲。首先,空集合是所有集合的子集;其次,一个集合是它自己的子集;最后,如果集合B是集合A的超集,则集合A是集合B的子集。

ordsets:is_subset(EmptySet, SetA).
% true
ordsets:is_subset(EmptySet, SetB).
% true
ordsets:is_subset(EmptySet, SetC).
% true
ordsets:is_subset(EmptySet, EmptySet).
% true
ordsets:is_subset(SetA, SetA).
% true
第 2 段(可获 0.7 积分)

文章评论