Как сравнить набор набора в раку-ланге? - PullRequest
6 голосов
/ 15 января 2020

Как работать два набора, которые содержат структурированные данные.

Например,

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>))

1 Ответ

12 голосов
/ 15 января 2020

Независимо от значений в 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
...