hexagon
anarchy golf - hexagon 2nd fixed
atom5個分で書けてしまうCL最強ですね
(format t"~{ ~*~#@{ ~}~:*~#@*__~#@{/ \\__~}~#@*~* ~}~:*~{/ \\~#@*~#@{__/ \\~}~:*~#@*~#@{__/ \\~} ~:*\\__/~#@*~#@{ \\__/~}~:*~#@*~#@{ \\__/~} ~}~:*~{~*~^~:*~#@* ~#@{ ~}~#@*~*~#@{ \\__/~} ~}"(make-list(read)))
というネタコードを書いてみたものの, 処理系によって結果に差が出てしまった。
CLISP, ClozureCL, LispWorks(personal)だと
$ clisp hexagon.l 3 __ __ __ / \__/ \__/ \ \__/ \__/ \__/ / \__/ \ \__/ \__/ / \ \__/ \__/ \__/ \__/
残念な感じ。SBCL, ECL, ABCL, xyzzyは想定通り。
$ sbcl --script hexagon.l 3 __ __/ \__ __/ \__/ \__ / \__/ \__/ \ \__/ \__/ \__/ / \__/ \__/ \ \__/ \__/ \__/ / \__/ \__/ \ \__/ \__/ \__/ \__/ \__/ \__/
~{ ~}の中の~#@*の挙動が違うっぽい。
判別コード
(format t "~{~#@*~:*~A~:*~#@* ~}" '(1 2 3 4 5))