.NUT вариант №
NUT относится к файлу формата открытого контейнера NUT. Этот формат файла NUT принадлежит языку программирования, известному как Squirrel. Это объектно-ориентированный императивный язык программирования высокого уровня, который в основном используется во встроенных системах и видеоиграх.
Язык белка считается легким языком сценариев, который можно легко настроить в соответствии с размером и пропускной способностью. Это включает в себя преимущество автоматического подсчета ссылок и управления мусором в памяти.
Синтаксис беличьего языка привлекает разработчиков тем, что он похож на Си и включает в себя особенности скриптового языка. Но все же у него гораздо меньше преимуществ по сравнению с другими более популярными языками программирования для этой цели.
Краткая история
Он был разработан Альберто Демичелисом в 2003 году. Однако стабильная версия этого языка была выпущена в 2016 году. Он был разработан под лицензией zlib/libpng. В 2010 году лицензия была изменена и передана MIT. Этот язык считается вдохновленной версией LUA (язык программирования). На веб-сайте есть список предложений для прежнего языка, разработанный Альберто, чтобы сделать его более выгодным.
Техническая спецификация
Особенности и спецификации языка белки многочисленны. Он предоставляет возможность динамической типизации, свойство делегирования, несколько вариантов использования классов и интерфейсов. Синтаксис этого языка имеет сходство с синтаксисом языка C. Такие приложения, как Enduro/X (кластерный сервер приложений), используют этот язык. Поскольку Squirrel используется и для видеоигр, некоторые из них — OpenTTD, GTA IV и т. д.
Стабильная версия языка — 3.0.7. Инструментарий, известный как MirthKit, использует язык программирования Squirrel для предоставления кросс-платформенной платформы с открытым исходным кодом для двумерных игр. Этот язык динамичен по своей природе, и большинство его функций схожи с Python, LUA и т. д. Он также включает реализацию виртуальной машины на основе регистров. Производительность Squirrel ниже, чем у LUA.
Существует также другой тип файла с расширением «.nut», поэтому вам следует посмотреть на размер файла, чтобы узнать, какой файл NUT у вас есть. Файлы NUT сценариев Squirrel в основном меньше 1 МБ, тогда как файлы видео NUT обычно больше 1 МБ.
Пример формата файла 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();