Funções Embutidas
Fundamentos do XanaScript • Aula 18 de 20
As funções builtin vêm prontas, sem import. São as ferramentas que você usa todos os dias.
Saída
grita-ae imprime no stdout (saída normal); sussurra imprime no stderr (para avisos e erros):
grita-ae("mensagem normal")
sussurra("aviso importante")Por que separar stdout e stderr?
Programas profissionais redirecionam as saídas: o stdout vai pro log normal, o stderr pra monitorar erros. Separar permite filtrar "o que deu certo" de "o que deu errado" sem misturar.
Utilitários
| Função | Descrição |
|---|---|
horinha() |
timestamp atual (ms) |
traduz-ai(x) |
converte pra texto |
tamanho(x) |
tamanho de string/array |
desembola(json) |
JSON.parse (texto → objeto) |
embrulha(valor, espaco?) |
JSON.stringify (objeto → texto) |
hash(texto) |
SHA-256 em hex |
url(s) |
encodeURIComponent |
decodifica-url(s) |
URL decode |
data-agora() |
data ISO atual |
data-de-ms(ms) |
ms → data ISO |
cria obj = { nome: "Ana" }
cria texto = embrulha(obj)
cria deVolta = desembola(texto)
grita-ae(deVolta.nome) // AnaRede e ambiente
| Função | Descrição |
|---|---|
stalkeia(url) |
HTTP GET → JSON (timeout 3s) |
bisbilhota(chave) |
variável de ambiente |
cria token = bisbilhota("API_TOKEN")Por que ler variáveis de ambiente?
Senhas e chaves de API nunca devem ficar no código (vazam no repositório). Variáveis de ambiente ficam fora do código e o bisbilhota traz elas pro programa quando ele roda.
Strings
| Função | Descrição |
|---|---|
divide-texto(texto, sep) |
split (texto → array) |
juntar(arr, sep) |
join (array → texto) |
encontra(s, sub) |
regex match (array ou nulo) |
cria partes = divide-texto("a,b,c", ",")
grita-ae(partes) // ["a","b","c"]
grita-ae(juntar(partes, "-")) // "a-b-c"Tempo e aleatório
| Função | Descrição |
|---|---|
aguenta-ai(ms) |
sleep (espera) |
escolhe(min, max) |
inteiro aleatório |
cria num = escolhe(1, 6)
grita-ae("Dado: " + num)A lógica por trás: por que tantas funções?
Cada builtin resolve um problema universal: transformar dados (desembola/embrulha), comunicar (grita-ae/stalkeia), medir tempo (horinha/data-agora). Quando um problema aparece em TODO programa, ele vira builtin — e você não precisa nem saber como implementa, só o que faz.