Ternary logic: Difference between revisions
Content added Content deleted
Thundergnat (talk | contribs) m (→{{header|Perl 6}}: Combine blocks to make runnable code for ease of automated testing) |
|||
Line 3,583: | Line 3,583: | ||
false 1</pre> |
false 1</pre> |
||
=={{header|Perl 6}}== |
=={{header|Perl 6}}== |
||
{{Works with|rakudo| |
{{Works with|rakudo|2018.03}} |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | |||
sub prefix:<¬> (Trit $a) { Trit(1-($a-1)) } |
sub prefix:<¬> (Trit $a) { Trit(1-($a-1)) } |
||
Line 3,593: | Line 3,596: | ||
sub infix:<⇒> (Trit $a, Trit $b) is equiv(&infix:<..>) { ¬$a max $b } |
sub infix:<⇒> (Trit $a, Trit $b) is equiv(&infix:<..>) { ¬$a max $b } |
||
sub infix:<≡> (Trit $a, Trit $b) is equiv(&infix:<eq>) { Trit(1 + ($a-1) * ($b-1)) } |
sub infix:<≡> (Trit $a, Trit $b) is equiv(&infix:<eq>) { Trit(1 + ($a-1) * ($b-1)) } |
||
⚫ | |||
# Testing: |
|||
To test, we use this code: |
|||
say '¬'; |
|||
say "Too {¬Too}"; |
say "Too {¬Too}"; |
||
say "Moo {¬Moo}"; |
say "Moo {¬Moo}"; |
||
Line 3,632: | Line 3,634: | ||
Foo ∧ Too ∨ Too ⇒ Foo ≡ Foo, |
Foo ∧ Too ∨ Too ⇒ Foo ≡ Foo, |
||
);</lang> |
);</lang> |
||
{{out}} |
{{out}} |
||
<pre>¬ |
<pre>¬ |