- 论坛徽章:
- 5
|
本帖最后由 starwing83 于 2011-08-16 15:52 编辑
最近 Lua 社区挺热闹的,因为 Lua 这种苦逼语言,实在是没法翻出啥新东西来了。
但是,往往就有人弄出了点新东西,上个星期,一个叫Leafo的人(头像看上去很像欧巴
桑,但是别误会,人家只是长得丑点= =)发布了一个让 Python、Perl 和 Ruby 都无语
凝噎的语言:MoonScript。
MoonScript 基于 Lua 的牛逼的 lpeg 库,将自身一对一地翻译成 Lua 代码,其语
法借鉴了 Python、Ruby 和 Perl,我这里做了个发布版,除了 MoonScript 啥都不带XD
下面来看看 MoonScript 的语法,懒得听我啰嗦的可以去官网 moonscript.org 看看
。
MoonScript 和 Lua 是一对一的翻译关系,所以诸如类型系统哈什么的我就不提了,
这里提一些关键特性:
- MoonScript 用 Python 式的缩进干活:
if a == 10
print "good"
else
print "bad"
- MoonScript 支持 Ruby 式的无括号调用:
print "hello", "world"
- MoonScript 没有 函数声明语句(大胆吧XD),它只支持匿名函数:
((a, b)->print a, b, a+b)(1,2) -->打印 1 2 3
- MoonScript 的一切都是表达式(或者尽力让一切都是表达式:
a = if 1 == 2 then 1 else 2 --> a = 2
b = for x = 1, 10 do if x % 2 == 0 then x --> b = {2,4,6,8,10}
- MoonScript 支持完整的面向对象编程,类、继承,应有尽有:
class A
new: (a, b) =>
@a, @b = a, b
print: =>
print("A", @a, @b)
a = A 10, 20
a.print() --> 打印 A 10 20
怎么样?牛逼吧!让 Python Ruby 之流颤抖吧!!
附件是个能在 Windows 上面跑的 MoonScript,非 Windows 平台自己去官网看
moonscript.zip
(159.89 KB, 下载次数: 185)
|
|