请推荐关于松鼠的好读物

时间:2009-11-18 11:30:04

标签: scripting-language squirrel

请分享您最喜欢的语言链接,以便学习最好的语言 而且,请用几句话来描述这种语言最重要的特征,它与其他语言如Lua不同。

我无法理解为什么重新发明另一个Lua / Python /等。也许我只是错过了一些东西...... 但我喜欢性能+脚本的想法,所以我必须理解它!

2 个答案:

答案 0 :(得分:9)

关于Squirrel语言的最佳(也是几乎唯一)资源是它的官方网站和论坛:http://squirrel-lang.org

与其他发展良好的语言相比,Squirrel仍然处于一个非常小的社区的早期阶段,但在某些方面它在其他现代脚本语言中非常有前景:

  • 受Lua的启发,通常使用表格,Lua堆栈等概念,但使用更清晰的语法和C API。

  • 使用辅助垃圾收集器进行引用计数。运行时的设计鼓励用户删除循环引用,而不是完全依赖于垃圾收集(可以是慢速或非确定性的)。用户甚至可以在禁用垃圾收集器的情况下重新编译运行时。

  • 这是一种使用C / C ++语法的语言。这有点味道,但这是我为什么喜欢Squirrel而不是Lua的主要原因。

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

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

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

  • lambda函数,生成器和协同例程等其他功能都内置于这个小而强大的脚本语言中,该语言仅由~6000行C++代码构成。

总而言之,Squirrel语言适用于与性能关键应用程序(即游戏引擎)中的低级模块接口,它绝对可以作为更好的Lua。像python这样的语言更倾向于通用,日常方便解决问题的语言。

答案 1 :(得分:2)

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

我真诚地建议您查看emo任何希望学习Squirrel语言的人,同时为iOS和Android开发游戏或其他应用程序。