11

请分享您最喜欢的关于这种语言的链接,在那里人们可以学到最好的东西。
另外,请用几句话描述这种语言与 Lua 等其他语言不同的最重要特征。

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

4

2 回答 2

11

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

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

  • 受 Lua 启发,具有表、Lua 堆栈等常用概念,但具有更简洁的语法和 C API。

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

  • 它是一种具有类似 C/C++ 语法的语言。这是一种味道,但这是我偏爱 Squirrel 而不是 Lua 的主要原因。

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

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

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

  • 其他功能,如 lambda 函数、生成器和协程,都内置在这种小而强大的脚本语言中,它仅由大约 6000 行C++代码组成。

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

于 2010-01-19T09:25:44.443 回答
2

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

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

于 2012-09-04T20:37:34.760 回答