Che cos’è un file NUT?
Il NUT si riferisce al file NUT Open Container Format. Questo formato di file NUT appartiene al linguaggio di programmazione noto come Squirrel. È un linguaggio di programmazione orientato agli oggetti, di alto livello e imperativo che viene utilizzato principalmente nei sistemi incorporati e nei videogiochi.
Il linguaggio dello scoiattolo è considerato un linguaggio di scripting leggero che può essere facilmente modificato in base alle dimensioni e alla larghezza di banda. Implica il vantaggio del conteggio automatico dei riferimenti e della gestione della spazzatura in memoria.
La sintassi del linguaggio scoiattolo attrae gli sviluppatori in quanto è simile al C e coinvolge la caratteristica del linguaggio di scripting. Tuttavia, ha ancora meno vantaggi rispetto ad altri linguaggi di programmazione più popolari per questo scopo.
Breve storia
È stato progettato da Alberto Demichelis nel 2003. Tuttavia, una versione stabile di questo linguaggio è stata rilasciata nel 2016. È stato progettato con la licenza di zlib/libpng. Nel 2010 la licenza è stata modificata e trasferita al MIT. Questo linguaggio è considerato una versione ispirata di LUA (linguaggio di programmazione). C’è un elenco di suggerimenti per la lingua precedente sul sito web progettato da Alberto per renderla più vantaggiosa.
Specifica tecnica
Le caratteristiche e le specifiche del linguaggio dello scoiattolo sono molteplici. Fornisce la possibilità di tipizzazione dinamica, proprietà di delega, diversi usi di classi e interfacce. La sintassi di questo linguaggio ha una somiglianza con la sintassi del linguaggio C. Applicazioni come Enduro/X (un server di applicazioni cluster) utilizzano questo linguaggio. Poiché Squirrel viene utilizzato anche per i videogiochi, alcuni di questi sono OpenTTD, GTA IV, ecc.
La versione stabile del linguaggio è 3.0.7. Un toolkit noto come MirthKit utilizza il linguaggio di programmazione Squirrel per fornire un open source e multipiattaforma per giochi bidimensionali. La natura di questo linguaggio è dinamica e la maggior parte delle funzionalità è simile a Python, LUA, ecc. Implica anche l’implementazione di VM basate su registri. La performance di Squirrel è più lenta rispetto a LUA.
Esiste anche un altro tipo di file con estensione “.nut”, motivo per cui dovresti guardare le dimensioni del file per scoprire quale file NUT hai. I file NUT dello script di scoiattolo sono per lo più inferiori a 1 MB, mentre i file NUT video sono generalmente più grandi di 1 MB.
Esempio di formato file 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();