Hier gibt es keine Magie, nur Verschleierung. Nehmen wir eine hochrangige Sicht. Das erste, was zu bemerken ist, dass später wird jedes Zeichen in Strings interpretiert, als ob es das vorherige Zeichen waren:
,
[1] map{chr(ord()-1)} ...
So eine Zeichenfolge wie „6qD“ führt zu „5rC“ (die Zeichen vor dem " 6 ',' q 'bzw.' D '). Der wichtigste Punkt von Interesse ist das Array von Strings in der Nähe von Anfang an:
[2] ">>>E!)",">>>E)",">>>E",">>>",">>",">",""
Diese eine Folge von „Masken“ definiert, die wir später ersetzen wird, in dieser Zeichenfolge:
[3] "9$_*\x{0e}"
Sie werden am Punkt $_
eingefügt werden. Die Zeichenfolge \x{0e}
repräsentiert ein Hexadezimalzeichen; Beachten Sie, dass \x{0d}
, das Zeichen direkt davor, ein Wagenrücklauf ist. Das wird in [3] ersetzt, wenn wir [1] tun.
Bevor die [3] Zeichenkette zusammengefügt wird, wird eine Zahl von !
an jedes Element in [2] angefügt. Jedes nachfolgende Element erhält eine weitere !
als das Element davor. Beachten Sie, dass das Zeichen, dessen Wert kurz vor !
liegt, ein Leerzeichen
ist.
Der Rest des Skripts iteriert über jedes der zusammengesetzten Array-Elemente, die wie folgt aussehen mehr jetzt:
[4] "!!!!!9>>>E!)\x{0e}", ---> " 8===D ("
"!!!!!!9>>>E)\x{0e}", ---> " 8===D("
"!!!!!!!9>>>E\x{0e}", ---> " 8===D"
"!!!!!!!!9>>>\x{0e}", ---> " 8==="
"!!!!!!!!!9>>\x{0e}", ---> " 8=="
"!!!!!!!!!!9>\x{0e}", ---> " 8="
"!!!!!!!!!!!9\x{0e}", ---> " 8"
Dann wird der Betrieb reverse
die gleichen Elemente in umgekehrter anhängt, um eine Schleife zu schaffen.
An diesem Punkt sollten Sie in der Lage sein, das Muster emerge zu sehen, das die Animation erzeugt. Jetzt geht es nur darum, sich durch jeden Schritt in der Animation und wieder zurück zu bewegen, was durch den Rest des Skripts erreicht wird. Die Zeitschrittverzögerung jedes Schritts wird durch die Select-Anweisung gesteuert:
[5] select undef, undef, undef, 0.25
, die uns angibt, zwischen jeder Iteration 250 Millisekunden zu warten. Sie können dies ändern, wenn Sie es beschleunigen oder verlangsamen wollen.
Was ist das Problem, mit Ausnahme extremer Hässlichkeit? – anthares
Executable Line Noise :-D – Krab
Die magischen Perl Feen machen alles möglich. – Ether