Натхненний цим питанням .
Створіть програму, яка спонукає користувача зберігати деякі дані, а коли програма закриває, виплюньте саму програму, за винятком змін даних сеансу.
Потім користувач відкриває щойно створену програму і може відкликати дані попередньої програми.
Команди
KEY VALUE: встановлює змінну сеансуKEYнаVALUE*: очистити всі дані! KEY: видалитиKEY? KEY: запитKEY(якщо його немає: нічого не надрукувати і рухатися далі)- в іншому випадку закрийте програму
Ні ключ, ні значення не можуть містити пробілів. Новоспечене ім’я файлу програми повинно ідентифікувати версію програми, можна використовувати дати чи лічильники.
Приклад взаємодії:
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
Правила
- Вам не потрібно зберігати коментарі чи незначні пробіли у програмі, що склалася: просто збережіть функціональність та дані
- Ви не можете використовувати будь-яке зовнішнє сховище.
- Жодних обманних лайків, як і будь-які інші проблеми з лайкою.
- Найкоротший код виграє.
SELECT 1 AS ID, NAME AS BLAH UNION...