2009-11-18 34 views
9

请分享您最喜欢的以往此语言的链接,了解最好的语言。
此外,请用几句话来描述这种语言最重要的特征,它与Lua等其他语言不同。请推荐关于松鼠的好消息

我只是不明白为什么要重新发明另一个Lua/Python /等。也许我只是错过了一些...
但我喜欢performance + scripting的想法,所以我必须理解它!

回答

9

最好的(几乎只)关于松鼠语言资源是它的官方网站和论坛:http://squirrel-lang.org

相较于其它发达语言,松鼠仍然是在它的一个非常小的社区早期阶段,但它是在其他现代脚本语言中的某些方面非常有前途的:

  • 从Lua的启发,与表的通常概念,Lua中栈等,但有一个更清洁的语法和C API。

  • 带补充垃圾回收器的引用计数。运行时的设计鼓励用户删除循环引用,而不是完全依赖垃圾收集(可能很慢或不确定)。用户甚至可以禁用垃圾回收器来重新编译运行时。

  • 这是一种使用C/C++语法的语言。这有点味道,但这也是为什么我会将Squirrel放在Lua上的主要原因。

  • 内置支持类,在Lua中你需要做一些魔法来模拟它。

  • 支持C#like属性,因此您可以为您的类和属性提供元数据。我使用此功能将我的脚本对象暴露给.net属性网格。

  • 未定义的变量会导致异常,而不是静静地创建一个新的空值,如Lua。

  • 其他功能,如lambda函数,生成器和协程都内置在这个小而强大的脚本语言中,这些语言只是由〜6000行的C++代码生成的。

总括而言,松鼠语言是适合于与在一个性能关键应用低电平模块(即,游戏引擎)的接口,它绝对可以作为较好的Lua。像python这样的语言更像是一种通用的日常方便的解决问题的语言。

+4

尽管文档很糟糕。官方文档几乎没有新手友好,几乎没有例子,而且大多只是词汇的定义。 – 2012-03-23 07:30:31

+0

这不是真的,作为写得很好的5k行文档和API参考的一部分,你只需要看一下sqstd源代码,如果你没有意识到,那么你应该考虑另一个爱好/职业。 – KukoBits 2013-11-16 03:56:06

+2

文档就在那里,但它很缺乏示例和教程。即使安装松鼠也没有解释!如果你正在学习新东西,LUA的记录要好得多,并有大量的例子可供学习。 – Kokodoko 2014-06-06 10:42:49

2

emo框架是一款基于Squirrel的iOS和Android免费的开源游戏开发框架。其源代码包含一些示例程序/演示,以及用Squirrel编写的一些库代码。我认为,阅读它们的来源可能是教育。

我真诚地推荐你看看emo,任何想要学习松鼠语言的人都可以在iOS和Android上开发游戏或其他应用。