作为一个有趣的项目,我在Ruby中实现了一个Beatnik解释器。如果您从未听说过Beatnik,那么这是一种深奥的编程语言,其操作由源代码中单词的“拼字比分”指定。Ruby在条件下执行某个函数的一种巧妙方式
无论如何,实现需要针对不同的拼字游戏得分发生不同的操作。这不是来具体实施,一个明显的方法是一个if语句:
if score == 1
...
elsif score == 2
...
else
...
end
另一种方法是使用一个case语句:
case score
when 1
...
when 2
...
else
...
end
但无论是这两种方法给我的印象特别优雅,你能否提出一个实现这个的另一种方式?
我爱堆栈溢出教我这样的重要的东西。除此之外,我还有什么可以学会的:“<5不做任何事情。Beatnik口译员可以根据自己的判断嘲笑你可怜的得分。” +1! – RichieHindle 2009-06-30 00:11:18
[一组可能的方法来创建和调用函数dynamicaly](http://stackoverflow.com/a/11112426/1468040) – wiki 2012-06-20 03:33:06