PowerShell v2 +, 175 169 163 154 bajtów
($x=(-join(65..67+66..86|%{$_;32+$_}|%{[char]$_})-split'(.{6})'-ne'')+' WwXx'+' Yy'+(' '*9+'Z')|% *ht 10|%{$_+-join$_[9..0]})
' '*9+'zz'
$x[10..0]
Wypróbuj online!
Nadużywa faktu, że domyślnie Write-Output
pod koniec wykonywania wstawia nową linię między elementami.
Pierwszy wiersz tworzy gałęzie. Zapętlamy dwa zakresy odpowiadające wartościom ASCII dla wielkich liter, każda iteracja generuje char
tablicę tej litery i tej litery +32
(która jest małymi literami ASCII). To jest -join
połączone razem w jeden długi ciąg, a następnie -split
na co sześć elementów (otoczonych parenami, aby zostały zachowane), a następnie następuje -ne''
wyciągnięcie pustych elementów w wyniku podziału, tworząc w ten sposób tablicę ciągów.
Te ciągi w tablicy array-get konkatenacji dodać na WwXx
, Yy
i Z
elementów, a następnie PadRig ht 10
aby im wszystkim odpowiednią szerokość. W tym momencie mamy tablicę ciągów takich jak poniżej (jeden element na linię).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Cała tablica jest przesyłana do innej pętli w celu utworzenia lustrzanych łańcuchów z -join
odwracaniem tablicy [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Zapisujemy powstałe ciągi $x
w parenach i otaczamy nimi, aby również umieścić kopię w potoku.
Następny wiersz umieszcza zz
ciąg w potoku, a następnie $x
tablicę w odwrotnej kolejności. Wszystkie są pozostawione w potoku, a dane wyjściowe są niejawne.
PS C:\Tools\Scripts\golfing> .\alphabet-chromosome.ps1
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
zz
ZZ
Yy yY
WwXx xXwW
TtUuVv vVuUtT
QqRrSs sSrRqQ
NnOoPp pPoOnN
KkLlMm mMlLkK
HhIiJj jJiIhH
EeFfGg gGfFeE
BbCcDd dDcCbB
AaBbCc cCbBaA
-9 bajtów dzięki mazzy.