PowerShell v2 +, 175 169 163 154 byte
($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]
Cobalah online!
Menyalahgunakan fakta bahwa default Write-Output
di akhir eksekusi memasukkan baris baru antar elemen.
Baris pertama membangun cabang. Kami mengulangi dua rentang yang sesuai dengan nilai ASCII untuk huruf kapital, setiap iterasi menghasilkan char
array huruf itu dan huruf itu +32
(yang merupakan titik ASCII huruf kecil). Itu -join
disatukan menjadi satu string panjang, lalu -split
pada setiap enam elemen (dienkapsulasi dalam parens sehingga mereka dipertahankan), diikuti oleh a -ne''
untuk mengeluarkan elemen kosong sebagai hasil dari perpecahan, sehingga membentuk array string.
String ini dalam berbagai get array Rangkaian untuk menambahkan pada WwXx
, Yy
, dan Z
unsur-unsur, maka PadRig sebuah ht 10
untuk membuat mereka semua lebar yang sesuai. Pada titik ini kita memiliki array string seperti berikut (satu elemen per baris).
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
Seluruh array disalurkan ke loop lain untuk membangun string cermin dengan -join
dan array-reversing [9..0]
.
AaBbCc cCbBaA
BbCcDd dDcCbB
EeFfGg gGfFeE
HhIiJj jJiIhH
KkLlMm mMlLkK
NnOoPp pPoOnN
QqRrSs sSrRqQ
TtUuVv vVuUtT
WwXx xXwW
Yy yY
ZZ
Kami menyimpan string yang dihasilkan ke dalam $x
dan melampirkan di parens juga menempatkan salinan di pipa.
Baris selanjutnya menempatkan zz
string pada pipeline, kemudian $x
array dalam urutan terbalik. Semua itu ditinggalkan di jalur pipa dan hasilnya tersirat.
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 byte berkat mazzy.