PowerShellのV2 +、175の 169 163 154バイト
($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]
オンラインでお試しください!
Write-Output
実行の最後にデフォルトが要素間に改行を挿入するという事実を悪用します。
最初の行はブランチを構築します。大文字のASCII値に対応する2つの範囲をループします。各反復char
は、その文字とその文字+32
(小文字のASCIIポイント)の配列を出力します。それは-join
一緒に1つの長い文字列にまとめられ、次に-split
6つの要素ごとに(ペアレントにカプセル化されて保存されます)、その後-ne''
、分割の結果として空の要素を引き出し、文字列の配列を形成します。
追加する配列のget配列-連結でこれらの文字列WwXx
、Yy
およびZ
要素、そしてPadRig ht 10
それらにすべての適切な幅をします。この時点で、次のような文字列の配列があります(1行に1つの要素)。
AaBbCc
BbCcDd
EeFfGg
HhIiJj
KkLlMm
NnOoPp
QqRrSs
TtUuVv
WwXx
Yy
Z
その配列全体が別のループにパイプされて-join
、および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
結果の文字列を$x
かっこに保存して囲み、パイプラインにもコピーを配置します。
次の行ではzz
、パイプラインに文字列を$x
配置し、次に配列を逆の順序で配置します。これらはすべてパイプラインに残り、出力は暗黙的です。
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バイトはmazzyのおかげです。