Ich habe versucht, meine Perl-6-Chops auszuprobieren, indem ich mir Golfprobleme anschaue. Eine davon beinhaltete das Extrahieren der Bits einer ganzen Zahl. Ich bin nicht in der Lage, eine prägnante Möglichkeit zu finden, einen solchen Ausdruck zu schreiben.
Meine bisher besten Versuche folgen mit 2000
als Nummer. Es ist mir egal, ob das meiste oder das am wenigsten signifikante Bit zuerst kommt.
Ein numerischer Ausdruck:
%Vor%Eine rekursive anonyme Subroutine:
%Vor%Umwandlung in eine Zeichenfolge:
%Vor%Von diesen fühlt sich das erste für mich am saubersten an, aber es wäre wirklich nett, die Bits in einem einzigen Schritt erzeugen zu können, anstatt über eine Zwischenliste abzubilden.
Gibt es eine sauberere, kürzere und / oder idiomatischere Art, die Bits zu erhalten, indem Sie einen einzelnen Ausdruck verwenden? (Das heißt, ohne eine benannte Funktion zu schreiben.)
Eine Alternative, die nützlich ist, wenn Sie die Basis auf etwas über 36 ändern müssen, ist polymod
mit einem unendliche Liste dieser Basis.
In den meisten Fällen müssen Sie die Reihenfolge jedoch umkehren.
%Vor% %Vor%Tags und Links perl6