Primitivas
El lenguaje incluye diversas funciones pre-definidas (primitivas). Algunas de estas se muestran a continuación.
Operadores unarios y binarios
Operador |
Código de ejemplo |
Resultado |
not |
(not #t) |
#f |
+ |
(+ 4 5) |
9 |
- |
(- 6 3) |
3 |
* |
(* 2 3) |
6 |
/ |
(/ 6 2) |
3 |
> |
(> 4 3) |
#t |
< |
(< 4 3) |
#f |
>= |
(>= 5 6) |
#f |
<= |
(<= 5 6) |
#t |
equal? |
(equal? 3 (+ 1 2)) |
#t |
mod |
(mod 2 6) |
2 |
Predicados
Operador |
Código de ejemplo |
Resultado |
member? |
(member? (list 1 2 3) 3) |
True |
starts-with? |
(starts-with? 'potato' 'pot') |
True |
ends-with? |
(ends-with? 'potato' 'to') |
True |
contains? |
(contanis 'potato' 'do') |
False |
any-satisfy? |
(any-satisfy? (fun (x) (equal? x 3)) (list 1 2 3 4)) |
True |
Tipos
Operador |
Código de ejemplo |
Resultado |
CONVERSIÓN DE TIPOS |
|
|
str |
(str 666) |
'666' |
num |
(num "666") |
666 |
int |
(int "666") |
666 |
CHEQUEO DE TIPOS |
|
|
nil? |
(nil? nil) |
True |
bool? |
(bool? #t) |
True |
str? |
(str? 2) |
False |
num? |
(num? 6.1212121) |
True |
int? |
(int? -667) |
True |
list? |
(list? (list 1 2 3)) |
True |
ALEATORIOS |
|
|
uuid |
() |
'' |
random |
(random 0 5) |
número entre 0 y 5 |
String
Operador |
Código de ejemplo |
Resultado |
split |
(split "perro,gato,zapallo" ",") |
['perro', 'gato', 'zapallo'] |
join |
(join ", " (list "pollos" "pavos" "iguana")) |
'pollos, pavos, iguana' |
plain |
(plain "ÉnTérO BellákO") |
'entero bellako' |
uppercase |
(uppercase "AbCdEfgH") |
'ABCDEFGH' |
lowercase |
(lowercase "AbCdEfgH") |
'abcdefgh' |
capitalize |
(capitalize "aleluya hmno") |
'Aleluya hmno' |
replace |
(replace "muajaja" "j" "h") |
'muahaha' |
reverse |
(reverse "sergio") |
'oigres' |
trim |
(trim " hola, soy julito ") |
'hola, soy julito' |
append |
(append "holi" "hola") |
'holihola' |
match? |
(match? ".pedro." "hola pedro, como estas?") |
TRUE |
Fechas y tiempos
Primitiva |
Código de ejemplo |
timestamp |
(timestamp) |
time-now |
(time-now) |
time-delta-seconds |
(time-delta-seconds init_time 30) |
time-delta-minutes |
(time-delta-minutes init_time 30) |
time-delta-hours |
(time-delta-hours init_time 30) |
time-delta-days |
(time-delta-days init_time 30) |
time-from-string |
(time-from-string "30 Nov 00" "%d %b %y") |
time-to-string |
() |
HTTP
Primitiva |
Código de ejemplo |
http-get |
(http-get "http://example.com") |
http-post |
(http-post "http://some.url" payload headers) |
http-pos-form |
(http-post-form "http://some.url" payload headers) |
uri-escape |
(uri-escape "Pascual Baburizza 595") |
Otros operadores
Operador |
Código de ejemplo |
Resultado |
COMPRESSION |
|
|
bz2-compress |
(bz2-compress "{0}") |
|
bz2-decompress |
(bz2-decompress "{0}") |
|
BASE-64 |
|
|
b64-encode |
(b64-encode "hólá") |
'aMOzbMOh' |
b64-decode |
(b64-decode "aMOzbMOh") |
'hólá' |