język programowania Squirrel to język programowania konieczne / OO wysoki poziom, zaprojektowany, aby być skutecznym narzędziem skryptowy, który pasuje do rozmiaru, przepustowości pamięci i wymagań czasu rzeczywistego z aplikacji, takich jak gry. Chociaż Wiewiórka oferuje szeroki zakres funkcji, takich jak:
ย ท Open Source zlib / licencji libpng
ย ท dynamiczne typowanie
ย ท Delegacja
ย ท wyższe funkcje zamówienie
ย ท generatory
ย ท wątki spółdzielcze (coroutines)
ย ท ogon rekurencja
ย ท obsługa wyjątków
ย ท automatyczne zarządzanie pamięcią (CPU wybucha darmo; liczenie podejście mieszane sędzią / GC)
ย ท zarówno kompilator i maszyna wirtualna pasują do siebie w około 6k linii kodu C ++.
ย ท ciągi znaków opcjonalnie 16 bitów
Wiewiórka jest inspirowany języków takich jak Python, JavaScript i expecially Lua (API jest bardzo podobny i kod tabeli opiera się na jednym Lua).
Składnia wiewiórki jest podobna do C / C ++ / Java itp ... ale język ma bardzo dynamiczny charakter jak python / Lua itp ...
lokalna tablica = [1,2,3, {= 10, b = "string"}];
foreach (i, val w tablicy)
{
:: Print ("typ val jest" + typeof val);
}
Podmiot
Co nowego w tym wydaniu:.
- sq_getcallee dodano w API ()
- sq_getfreevariable () działa również dla rodzimych zamknięć.
- Drobne optymalizacje zostały wykonane.
- Kilka ostrzeżenia kompilacją z 4.x GCC zostały usunięte.
- Niektóre błędy w dokumentacji zostały ustalone.
- błąd przy użyciu SQUSEDOUBLE i 32-bitowych intengers została ustalona.
- błąd podczas wywoływania generatory z closure.call () została ustalona.
Co nowego w wersji 3.0 RC1:.
- obsługa błędów Metamethods poprawiła
- & quot; isStatic & quot; Parametr dodano do metamethod _newmember.
- sq_getrefcount () został dodany do powrotu liczby refences z C ++.
- Drobne błędy zostały naprawione.
Co nowego w wersji 2.2.3:
- dodanej sq_getfunctioninfo
- dodany kompilacji flagi SQUSEDOUBLE używać podwójnej precyzji pływaków
- dodaje globalny gniazdo _floatsize_ int lib podstawy do uznania pojedynczej precyzji i podwójnej precyzji buduje
- sq_wakeupvm mogą teraz wznowić maszynę wirtualną z wyjątkiem
- dodany sqstd_format
- generatory można teraz instancji poprzez wywołanie sq_call () lub closure.call ()
- Naprawiono błąd w sqstd_printcallstack (thx takayuki_h)
- stałe modulo przez zero (thx jup)
- trwałe negatywne teksty stałe i stałe
- stałe Generator awaria błąd wywołany jako wezwanie ogona (thx Mr.Accident)
- Poprawiono kilka drobnych błędów,
Komentarze nie znaleziono