С#
Поэтому я решил проявить немного больше... творческого подхода к своей записи. Код Brainfuck встроен в C# в виде различных операторов (не в комментарии или жестко закодированные строки), тогда как сам код C# работает по принципу, аналогичному тому, как Brainfuck печатает символы (это означает, что нет жестко запрограммированных строк, и C# генерирует каждую отдельный символ как целое число, а затем при печати преобразует его в char).
Я уверен, что мог бы сделать это более элегантно, но мне потребовалось достаточно времени, чтобы закончить и так.
Все было проверено на этот интерпретатор JavaScript Brainfuck к Кэл Хендерсон и с компилятором C# Visual Studo 2012 (ориентированным на .NET framework v4.0).
|
Это оригинальный код Brainfuck, который я написал для этого задания:
t='++++++++++_+++++++|^+++++++|+[>++>+++%>++++>+++++<<<<-||]+++++++++++|*+++++++++++++@+>>+.>+||.++.|--.+++++++++.--|^--------.<<----..._<+++++|++.>|>+++++&++++++.>---.+=+++++++|.>---------.<<^<<.>>--||-----|--~-----|---.>>-----~.+++.<<<<.>|>>.*>++.<<<...<.>>--._>|--------|.>-^-.+++++++.<<<<!!!'
print ''.join((chr(93+len(x))if x else' ')for x in t.split('|'))
При запуске кода C# через интерпретатор Brainfuck вы получаете следующие команды (обратите внимание на добавление квадратных скобок в начале, они взяты из объявления массива и ничего не делают, поскольку ячейка под указателем памяти в массив уже будет 0):
E
||answer||
Смолток
&
введите в рабочую область и нажмите «doIt» или отправьте в BF.
БФ украден с других постеров - спасибо.