Clause
← Toda la documentación

Traducido del original en inglés · 06042fa · 2026-10-09 · Leer en inglés

Representación de términos

Tipos admitidos: átomos/booleanos, enteros arbitrarios, flotantes binary64 finitos, tuplas, listas propias/impropias y cadenas, maps, bitstrings y records ordinarios de tupla; records nativos (records nativos); funs (valores de función); pids, puertos y referencias locales (más abajo, puertos). Las codificaciones en palabras están en abi.md.

Propiedad

Átomos

Enteros

Flotantes

Tuplas, listas, cadenas

Maps

Bitstrings

Records

Pids y referencias

Plan 11 step 42. self/0 devuelve el pid del proceso que llama, make_ref/0 una referencia nueva; pid_to_list/1 y ref_to_list/1 devuelven su texto.

Comparación y orden

Iterativa y sin límite de trabajo, como en OTP: solo la memoria para los pares pendientes limita una comparación, incluidas las búsquedas de claves de map, y las palabras idénticas son iguales sin recorrerlas. Los bitstrings alineados a byte comparan bytes completos de una vez. Orden: números < átomos < referencias < funs < pids < tuplas < records nativos < maps < nil < listas < bitstrings (los funs se ordenan entre sí). Los átomos se comparan por su grafía UTF-8 (orden de puntos de código); las tuplas por aridad y después por campos; los maps por tamaño, luego por claves y luego por valores; los bitstrings por sus bits lógicos.

Impresión

format_term (output.hpp) representa cualquier término admitido en uno de dos estilos de OTP. Los enteros, las tuplas (los records son tuplas) y el anidamiento se ven igual en ambos.

~w (TermStyle::write)erlang:display/1 (TermStyle::display)
ÁtomosEntre comillas salvo que empiece por una letra minúscula de Latin-1 seguida de caracteres de nombre (con @); las palabras reservadas y maybe/else van entre comillas; fuera de Latin-1 se escapa como \x{H}Entre comillas salvo que empiece por una letra minúscula de Latin-1 seguida de alfanuméricos o _; las palabras reservadas y @ no tienen regla especial; se conserva UTF-8
FlotantesIda y vuelta más corta en el formato de OTP: 0.1, 100.0, 1.0e16, 1.5e-7%.6e de C: 1.500000e+00
ListasElementos: [104,105], [1,2|3]Una lista plana de bytes Latin-1 imprimibles se imprime como "hi" (bytes en bruto; solo se escapan \n y ")
Bitstrings<<1,2,5:3>>Un binary ASCII imprimible se imprime como <<"hi">>, los demás como ~w
Maps#{k => v,k2 => v2}#{k=>v,k2=>v2}