请分享您最喜欢的关于这种语言的链接,在那里人们可以学到最好的东西。
另外,请用几句话描述这种语言与 Lua 等其他语言不同的最重要特征。
我只是不明白为什么要重新发明另一个 Lua/Python/etc。也许我只是错过了一些东西......
但我喜欢性能+脚本的想法,所以我必须理解它!
请分享您最喜欢的关于这种语言的链接,在那里人们可以学到最好的东西。
另外,请用几句话描述这种语言与 Lua 等其他语言不同的最重要特征。
我只是不明白为什么要重新发明另一个 Lua/Python/etc。也许我只是错过了一些东西......
但我喜欢性能+脚本的想法,所以我必须理解它!
关于 Squirrel 语言最好的(也是几乎唯一的)资源是它的官方网站和论坛:http ://squirrel-lang.org
与其他发展良好的语言相比,Squirrel 仍处于早期阶段,社区非常小,但它在某些方面在其他现代脚本语言中非常有前途:
受 Lua 启发,具有表、Lua 堆栈等常用概念,但具有更简洁的语法和 C API。
使用补充垃圾收集器进行引用计数。运行时的设计鼓励用户删除循环引用,而不是完全依赖垃圾收集(这可能很慢或不确定)。用户甚至可以在禁用垃圾收集器的情况下重新编译运行时。
它是一种具有类似 C/C++ 语法的语言。这是一种味道,但这是我偏爱 Squirrel 而不是 Lua 的主要原因。
类的内置支持,在 Lua 中你需要做一些魔术来模拟它。
支持类似 C# 的属性,因此您可以为您的类和属性提供元数据。我使用此功能将我的脚本对象公开给 .net 属性网格。
未定义的变量会导致异常,而不是像 Lua 那样默默地创建一个新的空值。
其他功能,如 lambda 函数、生成器和协程,都内置在这种小而强大的脚本语言中,它仅由大约 6000 行C++
代码组成。
总而言之,Squirrel 语言适合与性能关键应用程序(即游戏引擎)中的低级模块接口,它绝对可以作为更好的 Lua。像 python 这样的语言更倾向于通用,日常方便的问题解决语言。