sdk
Utilitários do kit de desenvolvimento de software do fry
uma biblioteca especial que expõe alguns dos elementos internos do interpretador fry
Importação
_ <- fat.sdk
Métodos
| Nome | Assinatura | Breve descrição |
|---|---|---|
| ast | (_): Void | Imprime árvore de sintaxe abstrata do nó |
| stringify | (_): Text | Serializa o nó em texto semelhante a JSON |
| eval | (_): Any | Interpreta texto como programa FatScript |
| getVersion | <> Text | Retorna versão do fry |
| printStack | (depth: Number): Void | Imprime pilha do contexto de execução |
| readLib | (ref: Text): Text | Retorna o código-fonte da biblioteca fry |
| typeOf | (_): Text | Retorna o nome do tipo do nó |
| getTypes | <> List | Retorna info sobre tipos declarados |
| getDef | (name: Text): Any | Retorna definição de tipo por nome |
| getMeta | <> Scope | Retorna os metadados do interpretador |
| setKey | (key: Text): Void | Definir chave para pacotes ofuscados |
| setMem | (n: Number): Void | Definir limite de memória (contagem de nós) |
| runGC | <> Number | Rodar o GC, retorna transcorrido em milissegundos |
Notas de uso
stringify
Enquanto recode.toJSON produz um JSON estritamente válido, stringify é mais flexível. Ele é capaz de exportar HugeInt como números hexadecimais (por exemplo, 0x123abc), Chunk como codificado em Base64, e outros tipos também podem ter representações mais informativas do que apenas null. Essas representações são projetadas para permitir uma exportação mais rica para o ambiente FatScript e não são destinadas à serialização compatível com JSON.
readLib
_ <- fat.sdk
_ <- fat.console
print(readLib('fat.extra.Date')) # imprime a implementação da biblioteca Date
readLibnão pode ver arquivos externos, masreadda biblioteca file pode
setKey
Use preferencialmente no arquivo .fryrc assim:
_ <- fat.sdk
setKey('secret') # irá codificar e decodificar pacotes com esta chave
Veja mais sobre ofuscação.
setMem
Use preferencialmente no arquivo .fryrc assim:
_ <- fat.sdk
setMem(5000) # ~2mb
Coleta de lixo
A maioria dos scripts simples em FatScript não precisará se preocupar com a gestão de memória, pois as configurações padrão são projetadas para fornecer uma capacidade de memória ampla e um comportamento automático eficiente desde o início. Geralmente, a melhor maneira de otimizar a performance é simplesmente ajustando o limite de memória. Em alguns casos raros, como em um loop de jogo ou processos iterativos complexos, você pode se beneficiar de chamar explicitamente o GC.
A melhor maneira de determinar a opção mais adequada é realizar testes comparativos em sua aplicação, simulando cenários de uso real.
rode seu script com a flag
-cpara avaliar o desempenho de sua execução
Veja mais sobre gerenciamento de memória.