Set consolidation: Difference between revisions
Rename Perl 6 -> Raku, alphabetize, minor clean-up
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
|||
Line 697:
</lang>
=={{header|Egison}}==
Line 1,686 ⟶ 1,685:
### ]
### ]</pre>
=={{header|Perl 6}}==▼
<lang perl6>multi consolidate() { () }▼
multi consolidate(Set \this is copy, *@those) {▼
gather {▼
for consolidate |@those -> \that {▼
if this ∩ that { this = this ∪ that }▼
else { take that }▼
}▼
take this;▼
}▼
}▼
enum Elems <A B C D E F G H I J K>;▼
say $_, "\n ==> ", consolidate |$_▼
for [set(A,B), set(C,D)],▼
[set(A,B), set(B,D)],▼
[set(A,B), set(C,D), set(D,B)],▼
[set(H,I,K), set(A,B), set(C,D), set(D,B), set(F,G,H)];</lang>▼
{{out}}▼
<pre>set(A, B) set(C, D)▼
==> set(C, D) set(A, B)▼
set(A, B) set(B, D)▼
==> set(A, B, D)▼
set(A, B) set(C, D) set(D, B)▼
==> set(A, B, C, D)▼
set(H, I, K) set(A, B) set(C, D) set(D, B) set(F, G, H)▼
==> set(A, B, C, D) set(H, I, K, F, G)</pre>▼
=={{header|Phix}}==
Line 2,033 ⟶ 2,004:
</lang>
(formerly Perl 6)
▲<lang perl6>multi consolidate() { () }
▲multi consolidate(Set \this is copy, *@those) {
▲ gather {
▲ for consolidate |@those -> \that {
▲ if this ∩ that { this = this ∪ that }
▲ else { take that }
▲ }
▲ take this;
▲ }
▲}
▲enum Elems <A B C D E F G H I J K>;
▲say $_, "\n ==> ", consolidate |$_
▲ for [set(A,B), set(C,D)],
▲ [set(A,B), set(B,D)],
▲ [set(A,B), set(C,D), set(D,B)],
▲ [set(H,I,K), set(A,B), set(C,D), set(D,B), set(F,G,H)];</lang>
▲{{out}}
▲<pre>set(A, B) set(C, D)
▲ ==> set(C, D) set(A, B)
▲set(A, B) set(B, D)
▲ ==> set(A, B, D)
▲set(A, B) set(C, D) set(D, B)
▲ ==> set(A, B, C, D)
▲set(H, I, K) set(A, B) set(C, D) set(D, B) set(F, G, H)
▲ ==> set(A, B, C, D) set(H, I, K, F, G)</pre>
=={{header|REXX}}==
Line 2,420 ⟶ 2,419:
{{A, B, C, D}}
{{H, I, K, F, G}, {A, B, C, D}}</pre>
=={{header|VBScript}}==
<lang vb>
|