Order by pair comparisons: Difference between revisions
Content added Content deleted
(→{{header|Raku}}: Added Raku solution) |
|||
Line 111: | Line 111: | ||
Sorted: ["orange", "red", "yellow", "blue", "indigo", "green", "violet"]. Total requests: 12. |
Sorted: ["orange", "red", "yellow", "blue", "indigo", "green", "violet"]. Total requests: 12. |
||
</pre> |
</pre> |
||
=={{header|Perl}}== |
|||
<lang perl>#!/usr/bin/perl |
|||
use strict; # https://rosettacode.org/wiki/Order_by_pair_comparisons |
|||
use warnings; |
|||
sub ask |
|||
{ |
|||
while( 1 ) |
|||
{ |
|||
print "Compare $a to $b [<,=,>]: "; |
|||
<STDIN> =~ /[<=>]/ and return +{qw( < -1 = 0 > 1 )}->{$&}; |
|||
} |
|||
} |
|||
my @sorted = sort ask qw( violet red green indigo blue yellow orange ); |
|||
print "sorted: @sorted\n";</lang> |
|||
{{out}} |
|||
<pre> |
|||
Compare violet to red [<,=,>]: > |
|||
Compare green to indigo [<,=,>]: < |
|||
Compare blue to yellow [<,=,>]: > |
|||
Compare red to green [<,=,>]: < |
|||
Compare green to violet [<,=,>]: < |
|||
Compare violet to indigo [<,=,>]: ? |
|||
Compare violet to indigo [<,=,>]: > |
|||
Compare yellow to orange [<,=,>]: > |
|||
Compare red to orange [<,=,>]: < |
|||
Compare orange to green [<,=,>]: < |
|||
Compare green to yellow [<,=,>]: > |
|||
Compare green to blue [<,=,>]: < |
|||
Compare indigo to blue [<,=,>]: > |
|||
sorted: red orange yellow green blue indigo violet |
|||
</pre> |
|||
=={{header|Phix}}== |
=={{header|Phix}}== |