Вдохновлен этим вопросом .
Создайте программу, которая предлагает пользователю сохранить некоторые данные, и, когда программа завершает работу, выкладываете саму программу, за исключением изменения данных сеанса.
Затем пользователь открывает вновь созданную программу и может вызвать данные из предыдущей программы.
команды
KEY VALUE
: устанавливает переменную сеансаKEY
вVALUE
*
: очистить все данные! KEY
: удалятьKEY
? KEY
: queryKEY
(если не существует: ничего не печатать и двигаться дальше)- в противном случае выйдите из программы
Ни ключ, ни значение не могут содержать пробелов. Имя файла вновь созданной программы должно идентифицировать версию программы, вы можете использовать даты или счетчики.
Пример взаимодействия:
name test store name = test
data is now { name: test }
0 1 data is now { name: test, 0: 1 }
? name output: test
! 0 delete 0
data is now { name: test }
hello good world data is now { name: test, hello: good }
the extra word "world" is ignored
egiwiwegiuwe the "otherwise" case: quit program
Пользователь открывает вновь созданную программу
? name output: test
name retest data is now { name: retest }
* clear
data is now { }
Пример реализации: https://gist.github.com/1128876
правила
- Вам не нужно сохранять комментарии или незначительные пробелы в quined программе: просто сохраните функциональность и данные
- Вы не можете использовать любое внешнее хранилище.
- Нет мошенничества, как и любые другие проблемы.
- Самый короткий код выигрывает.
SELECT 1 AS ID, NAME AS BLAH UNION...