aspose.info
ZH

NUT - 松鼠语言文件

更新于

什么是一 .NUT 文件?

NUT 指的是 NUT Open Container Format 文件。这种 NUT 文件格式属于被称为 Squirrel 的编程语言。它是一种面向对象的高级命令式编程语言,主要用于嵌入式系统和视频游戏。

松鼠语言被认为是一种轻量级的脚本语言,可以根据大小和带宽轻松调整。它涉及自动引用计数和内存中垃圾管理的优势。

squirrel 语言的语法因为类似于 C 并且涉及脚本语言的特性而吸引了开发人员。但是,与其他更流行的编程语言相比,它的优势要少得多。

历史简介 ##

它是由 Alberto Demichelis 于 2003 年设计的。然而,该语言的稳定版本于 2016 年发布。它是在 zlib/libpng 的许可下设计的。 2010 年,许可证更改并转移到麻省理工学院。这种语言被认为是 LUA(编程语言)的灵感版本。 Alberto 设计的网站上有一个关于前一种语言的建议列表,以使其更有利。

技术规格##

松鼠语言的特点和规格是多方面的。它提供了动态类型、委托属性、类和接口的多种用途的便利。这种语言的语法与 C 语言的语法有相似之处。 Enduro/X(集群应用服务器)等应用程序使用这种语言。由于 Squirrel 也用于视频游戏,其中一些是 OpenTTD、GTA IV 等。

该语言的稳定版本是 3.0.7。一个名为 MirthKit 的工具包使用 Squirrel 编程语言为二维游戏提供开源和跨平台。这种语言的本质是动态的,大部分特性类似于Python、LUA等。它还涉及基于寄存器的VM的实现。与 LUA 相比,Squirrel 的性能要慢一些。

还有另一种“.nut"扩展文件类型,这就是为什么您应该查看文件大小以找出您拥有哪个 NUT 文件的原因。 Squirrel script NUT 文件大多小于 1 MB,而视频 NUT 文件通常大于 1 MB。

NUT 文件格式示例

function factorial(x)
  {
    if (x == 0) {
      return 1;
}
    else {
      return x * factorial(x-1);
}
  }

class BaseVector {
    constructor(...)
    {
      if(vargv.len() >= 3) {
        x = vargv[0];
        y = vargv[1];
        z = vargv[2];
  }
}
    x = 0;
    y = 0;
    z = 0;
  }

  class Vector3 extends BaseVector {
    function _add(other)
    {
      if(other instanceof ::Vector3)
        return ::Vector3(x+other.x,y+other.y,z+other.z);
      else
        throw "wrong parameter";
}
    function Print()
    {
      ::print(x+","+y+","+z+"\n");
}
  }

  local v0 = Vector3(1,2,3)
  local v1 = Vector3(11,12,13)
  local v2 = v0 + v1;
  v2.Print();

参考 ##

另请参阅