如何在 raku-lang 中比较 set of set?

How compare set of set in raku-lang?

如何操作两个包含结构化数据的集合。

例如

set(set(<a b c>), set(<d e f>)) ⊆ set(set(<a b c>), set(<d e f>), set(<g h i>))#True
set(set(<a b c>), set(<d e f>)) eq set(set(<a b c>), set(<d e f>), set(<g h i>))#false
set(set(<a b c>), set(<d e f>)) ∩ set(set(<a b c>), set(<d e f>), set(<g h i>))#set(<a b c>), set(<d e f>))

无论 Set 中的值如何,您都可以使用 eqv 运算符来确定它们是否相同:

$ raku -e 'say <a b c>.Set eqv <c b a>.Set'
True

$ raku -e 'say <a b c>.Set eqv <d b a>.Set'
False

$ raku -e 'say set(<a b c>.Set,<a b d>.Set) eqv set(<d b a>.Set,<c b a>.Set)'
True