A linguagem de programação Squirrel é uma linguagem de programação imperativa / OO alto nível, concebido para ser uma ferramenta de scripting poderoso que se encaixa no tamanho, largura de banda de memória e requisitos de tempo real de aplicativos como jogos. Embora Squirrel oferece uma ampla gama de características como:
ย ท Open Source zlib / licença libpng
ย ท tipagem dinâmica
ย ท delegação
ย ท funções de ordem superior
ย ท geradores
ย ท tópicos cooperativas (co-rotinas)
ย ท recursão de cauda
ย ท manipulação de exceção
ย ท gerenciamento automático de memória (CPU explode livre; contagem misto abordagem ref / GC)
ย ท tanto compilador e máquina virtual se encaixam em cerca de 6k linhas de código C ++.
ย ท personagens 16Bits opcional cordas
Esquilo é inspirado em linguagens como Python, Javascript e especificamente Lua (A API é muito semelhante e o código de tabela é baseada em um Lua).
sintaxe do esquilo é semelhante ao C / C ++ / Java etc ... mas a língua tem uma natureza muito dinâmico como python / Lua etc ...
array local = [1,2,3, {a = 10, b = "string"}];
foreach (i, val em array)
{
:: Print ("o tipo de val é" + typeof val);
}
Entidade
O que é novo nesta versão:.
- sq_getcallee () foi adicionado no API
- sq_getfreevariable () também trabalha para encerramentos nativas.
- pequenas otimizações foram feitas.
- Vários avisos durante a compilação com 4.x do CCG foram removidos.
- Alguns erros na documentação foram corrigidos.
- Um erro ao usar intengers SQUSEDOUBLE e 32 bits foi corrigido.
- Um erro ao invocar geradores com closure.call () foi corrigido.
O que é novo na versão 3.0 RC1:.
- tratamento de erros metamétodos foi melhorado
- O & quot; isStatic & quot; parâmetro foi adicionado à metamétodo _newmember.
- sq_getrefcount () foi adicionado ao retornar o número de refences de C ++.
- pequenos bugs foram corrigidos.
O que é novo na versão 2.2.3:
- adicionado sq_getfunctioninfo
- adicionado tempo de compilação bandeira SQUSEDOUBLE usar flutuadores de precisão dupla
- acrescentou ranhura mundial _floatsize_ int o lib base para reconhecer precisão única e precisão dupla constrói
- sq_wakeupvm pode agora retomar a vm com uma exceção
- acrescentou sqstd_format
- geradores agora pode ser instanciado chamando sq_call () ou closure.call ()
- reparado um bug em sqstd_printcallstack (thx takayuki_h)
- modulo fixo por zero (jup thx)
- enums e constantes negativas fixos
- acidente fixo bug gerador se invocado como chamada de cauda (thx Mr.Accident)
- fixo algum pequeno bug
Comentários não encontrado