这是一款挂载在Github的简而美小游戏,看起来似乎没什么特别之处,挑战考验你对各种编程语言的涉猎或更高层次的挖掘 x001:G()('al')简述 G()('al')游戏就是来挑战你,让你用尽可能多的语言编码达成以下目的: 使G()('al')返回字符串"goal"; g()()('al')输出"gooal"; 代码g()()()('al')返回goooal ; ... ...
g()()('al')是acruikshank的作品,他最初是想组织一场函数式编程比赛,但最后由于几个看似简单但严格规则和人们的理解上的误差变成了现在这种形式! x002:游戏规则 1、规则就是鼓励你打破规则,要的就是你机智!
2、程序执行时,该方案要能打印出带足够多的’o’的”goal”来展示程序的功能;
3、代码g()()('al')必须出现在源代码中。
i. g()('al')不能是一个字符串文字;
ii.而'al'必须是字符串,或是其他语言中的等价类型,你可以用创建自己的一套语言标准方法(例如C语言必须用",Ruby可以用"或'的任意一种;
iii.g()('al')在你语言中必须是有效的右值(如果适用的话)
4、g()('al')也许不能输出这样一个字符串,如果真的在你的语言中不能输出一个字符串,你应该提交一个原理解释 :为什么它不能一个打印出一个可接受字符串的方案呢!
5、你必须能够插入任意数量的()以调用,而不用修改你的方案。如果非要修改原方案那么它就是失败的。
6、噢,提醒一下g('al')必须返回”gal”。 (游戏规则必须是严格的,如有理解不对,忘指正~) x003:我的期望值 1、如果你看到一个完整的方案,打破任何一条规则,请提交一个bug!(挖洞滴,来呀~) 2、如果你有一个方案是接近的,但是不符合上面这些规则,别想了,也提交吧,有一个接近目标解决方案总比没有好啊! x004:目前的研究成果 十分令人兴奋的还是是最初玩的时候发现了一些还没被应用的技术被发掘出来了,简直高大上!下面的就是这些被发现的广泛可应用的技术: 自修复编码
早期中断
人类语言 x005:语言列表与解决情况 来帮忙, 添加更多语言!! x006:编辑笔记 来看看外国编辑者最爱提交的: Befunge解决方案 By arcovion
C 语言解决方案 By tolmasky
C++解决方案 By derrickturk
C# 某方案的一个解释By scorpiona
Finite State Transducer解决方案 By zippy-white
Haskell 某方案的一个解释By capicue
Java解决方案的一个解释By lawl
Nimrod 解决方案 By dom96
Perl 解决方案的一个解释By worr
SH 不完整的解决方案By csandreasen
ZSH 解决方案的一个解释By o11c 天朝编程爱好者&&黑客&&极客们来挑战吧~~
来源 Github |