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