目的
技術書典5に出展するので、サークルの位置をわかりやすく知らせたかった。
プログラマーとしてプログラムで伝えよう。
参考文献
U17を出力する Brainf**k のコード
++++++++++[>++++++++<-]>+++++.------------------------------------.++++++.
Brainf**k のコードを生成する Ruby のコード
Ruby で Brainf**k のコードを生成します
template = DATA.read.gsub("\n", '')
bit_template = template.chars.map { |e|e == 'X' ? 1 : 0 }
answer_bf = "++++++++++[>++++++++<-]>+++++.------------------------------------.++++++."
answer_bf_bytes = answer_bf.chars
dummy = '='
results = []
last = false
loop {
bit_template.each do |char|
c = (char == 0) ? ' ' : last ? dummy : answer_bf_bytes.shift
results << c
last = true if answer_bf_bytes.size == 0
end
break if last
}
print results.each_slice(24).map { |e|e.join + "\n" }.join
__END__
XXX XXX X XXXXX
X X XXX X X
X X X X
X X X X
X X X X
X X X X
X X X X
X X X X
XXX XXXXX X
出力コード
+++ +++ + +++[>
+ + +++ + +
+ < - ]
> + + +
+ + . -
- - - -
- - - -
- - - -
--- ----- -
--- --- - -----
- - .++ + +
+ + . =
= = = =
= = = =
= = = =
= = = =
= = = =
=== ===== =
実行結果
U17