Truth table: Difference between revisions
Content added Content deleted
(→{{header|Pascal}}: Changes based on changes in the version in C (the source for this translation) + StringOfChar.) |
Thundergnat (talk | contribs) (Rename Perl 6 -> Raku, alphabetize, minor clean-up) |
||
Line 2,386: | Line 2,386: | ||
T T T T T |
T T T T T |
||
</pre> |
</pre> |
||
=={{header|Perl 6}}== |
|||
{{works with|Rakudo|2016.01}} |
|||
<lang perl6>use MONKEY-SEE-NO-EVAL; |
|||
sub MAIN ($x) { |
|||
my @n = $x.comb(/<ident>/); |
|||
my &fun = EVAL "-> {('\\' «~« @n).join(',')} \{ [{ (|@n,"so $x").join(',') }] \}"; |
|||
say (|@n,$x).join("\t"); |
|||
.join("\t").say for map &fun, flat map { .fmt("\%0{+@n}b").comb».Int».so }, 0 ..^ 2**@n; |
|||
say ''; |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
$ truthtable 'A ^ B' |
|||
A B A ^ B |
|||
False False False |
|||
False True True |
|||
True False True |
|||
True True False |
|||
$ truthtable 'foo & bar | baz' |
|||
foo bar baz foo & bar | baz |
|||
False False False False |
|||
False False True True |
|||
False True False False |
|||
False True True True |
|||
True False False False |
|||
True False True True |
|||
True True False True |
|||
True True True True |
|||
$ truthtable 'Jim & (Spock ^ Bones) | Scotty' |
|||
Jim Spock Bones Scotty Jim & (Spock ^ Bones) | Scotty |
|||
False False False False False |
|||
False False False True True |
|||
False False True False False |
|||
False False True True True |
|||
False True False False False |
|||
False True False True True |
|||
False True True False False |
|||
False True True True True |
|||
True False False False False |
|||
True False False True True |
|||
True False True False True |
|||
True False True True True |
|||
True True False False True |
|||
True True False True True |
|||
True True True False False |
|||
True True True True True</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |
||
Line 3,009: | Line 2,958: | ||
T T T => T |
T T T => T |
||
</pre> |
</pre> |
||
=={{header|Raku}}== |
|||
(formerly Perl 6) |
|||
{{works with|Rakudo|2016.01}} |
|||
<lang perl6>use MONKEY-SEE-NO-EVAL; |
|||
sub MAIN ($x) { |
|||
my @n = $x.comb(/<ident>/); |
|||
my &fun = EVAL "-> {('\\' «~« @n).join(',')} \{ [{ (|@n,"so $x").join(',') }] \}"; |
|||
say (|@n,$x).join("\t"); |
|||
.join("\t").say for map &fun, flat map { .fmt("\%0{+@n}b").comb».Int».so }, 0 ..^ 2**@n; |
|||
say ''; |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
$ truthtable 'A ^ B' |
|||
A B A ^ B |
|||
False False False |
|||
False True True |
|||
True False True |
|||
True True False |
|||
$ truthtable 'foo & bar | baz' |
|||
foo bar baz foo & bar | baz |
|||
False False False False |
|||
False False True True |
|||
False True False False |
|||
False True True True |
|||
True False False False |
|||
True False True True |
|||
True True False True |
|||
True True True True |
|||
$ truthtable 'Jim & (Spock ^ Bones) | Scotty' |
|||
Jim Spock Bones Scotty Jim & (Spock ^ Bones) | Scotty |
|||
False False False False False |
|||
False False False True True |
|||
False False True False False |
|||
False False True True True |
|||
False True False False False |
|||
False True False True True |
|||
False True True False False |
|||
False True True True True |
|||
True False False False False |
|||
True False False True True |
|||
True False True False True |
|||
True False True True True |
|||
True True False False True |
|||
True True False True True |
|||
True True True False False |
|||
True True True True True</pre> |
|||
=={{header|REXX}}== |
=={{header|REXX}}== |