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

Tipos

A biblioteca sdk contribui os tipos Diagnostic, Symbol e CodeAnalysis, que são destinados ao uso por ferramentas de desenvolvimento.

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
probe (source: Text): CodeAnalysis Analisa o código fonte
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
getStack (depth: Number): List/Text Retorna a 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
defaultsOf (name: Text): Scope Retorna defaults declarados de um tipo
getMeta <> Scope Retorna os metadados do interpretador
setKey (key: Text): Void Define chave para pacotes ofuscados
setMem (n: Number): Void Define limite de memória (contagem de nós)
runGC <> Number Rodar o GC, retorna transcorrido em milis.

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

readLib não pode ver arquivos externos, mas read da biblioteca file pode

defaultsOf

Retorna apenas os slots de um tipo que possuem valores padrão declarados, como um Scope simples, sem invocar o construtor do tipo. É usado, por exemplo, pelo mixin Storable para preencher campos ausentes de registros armazenados no load.

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

runGC

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 coletor de lixo.

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 -c para avaliar o desempenho de sua execução

Veja mais sobre gerenciamento de memória.

Veja também

results matching ""

    No results matching ""