受到这个问题的启发。
创建一个程序,提示用户存储一些数据,并在退出程序时吐出程序本身,但会话数据已更改。
然后,用户打开新生成的程序,并可以从先前的程序中调出数据。
指令
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
规则
- 您无需在奎纳德程序中保留注释或无关紧要的空格:只需保留功能和数据即可
- 您不能使用任何外部存储。
- 像其他任何问题一样,没有作弊的问题。
- 最短的代码获胜。
什么是作弊奎因?
—
Casey Chu
凯西,通常阅读自己的源代码。
—
乔伊,
啊。我的JS解决方案几乎可以做到这一点,哎呀。哦,好吧,由于规范尚不明确,我将其保留下来以免被否决。
—
Casey Chu
SELECT 1 AS ID, NAME AS BLAH UNION...