Numlex Documentación
Referencia de sintaxis

Lenguaje de hojas

Cómo se escribe y evalúa una hoja: notación, formas de línea, nombres, líneas estrictas frente a silenciosas y el comando total.

Una hoja de Numlex es una pila de líneas lógicas. Escribes una línea normal de texto de bloc de notas y aparece un resultado comprobado en la columna de respuestas de al lado.

Esta página es el punto de partida formal del lenguaje de hojas: la notación que usa toda la referencia, todas las formas que puede tomar una línea, las reglas de nombres y asignaciones, la diferencia entre líneas estrictas y prosa silenciosa, y el comando integrado total.

Notación

La referencia usa unos pocos marcadores:

MarcadorSignificado
<expr>cualquier expresión aritmética
<value>un valor numérico
<unit>una unidad o una expresión sobre unidades
<place>nombre de lugar de texto libre (hasta 100 caracteres)
<Answer Token>un token de respuesta insertado (marcador U+FFFC)

Las palabras del sintaxis son inglesas. Donde se indica, no distinguen mayúsculas (OF funciona como of, Per Day como per day). El idioma de la interfaz y el formato regional de números son ajustes independientes: la localización nunca cambia la sintaxis.

Una línea, un resultado

Cada línea lógica produce un resultado en la columna derecha. Las líneas se evalúan de arriba abajo, y un nombre declarado en una línea es visible para las líneas de debajo.

Formas de línea

FormaEjemploComportamiento
Línea vacíaSin resultado.
Encabezado# Payroll sheetEncabezado visual; se omite en los cálculos.
Comentario// week totalLínea de encabezado/comentario omitible: sin resultado y nunca forma parte de un cálculo (ni asignación ni «nombre de hoja»).
EtiquetaTotal:Una línea que termina en dos puntos es una etiqueta/separador; se evalúa como omisión.
Valor con nombrebase pay = 4500<name> = <expr>: el nombre son 1–6 palabras ASCII (o una sola palabra de token), ≤ 40 caracteres, la primera palabra empieza por letra y el nombre no contiene operadores. El valor es mutable: una línea <name> = <expr> posterior lo sobrescribe para las líneas siguientes.
Total integradototalComando (sin distinguir mayúsculas) que suma las líneas elegibles de la sección actual — consulta el comando total.
Expresión numérica12 + 30 × 2Consulta Operadores y lógica.
Porcentaje y dinero15% of 490, $24 per dayConsulta Porcentajes y Dinero y tarifas.
Unidades10 km to m, 90 km per 3 dayConsulta Unidades y cantidades.
Bases enteras0x1F, 255 as hexConsulta Números y bases enteras.
FechasMay 5 + 3 weeksConsulta Fechas.
Redweather in London, distance between …Consulta Datos en vivo y geografía.
Texto normalbought cableSilencioso: sin resultado. La única vía heredada — en líneas numéricas, las palabras latinas desconocidas se tachan (5 apples + 3 → 8). La prosa sin números y las palabras de otros alfabetos nunca se evalúan.

Líneas estrictas y prosa silenciosa

A la mayoría de líneas se les permite ser texto normal: si Numlex no puede leer un cálculo, la línea se queda en silencio. En cambio, tres tipos de línea son estrictos: su forma se apropia por completo de la línea, y un análisis fallido es un error en lugar de un respaldo:

  • Líneas de dinero. Una línea con un marcador de divisa ($, €, 100 USD …) debe analizarse por completo como expresión de dinero; de lo contrario es un error oculto y no se adivina nada.
  • Líneas con forma de fecha. May 5 + 43 (sin palabra de duración) es un error, nunca se «reduce» a números normales.
  • Líneas con forma de llamada. Una línea con forma de llamada a función (name() es estricta: una función desconocida es un error, no un grupo entre paréntesis.

Todo lo demás se queda en silencio, incluida la prosa normal, que nunca se marca.

Nombres y asignaciones

  • Declara un valor con name = expression; el nombre representa ese valor en todas las líneas siguientes.
  • Los nombres son 1–6 palabras ASCII, como máximo 40 caracteres, la primera empieza por letra y no contienen operadores.
  • Las asignaciones son mutables: escribir el mismo nombre otra vez lo sobrescribe desde ese punto hacia abajo.
  • Los valores de dinero también pueden nombrarse: declara lunch = $45 y luego escribe 2 people × lunch (consulta Dinero y tarifas).
  • Los nombres de hoja son independientes de las constantes de Ajustes; el mecanismo de constantes está documentado en Unidades y constantes personalizadas.

El comando total

El comando exacto es una línea cuyo contenido completo es total (sin distinguir mayúsculas). Evalúa la suma de los resultados elegibles de la sección actual — desde el inicio de la hoja o desde el total, encabezado # o divisor exacto --- anterior más cercano.

  • Las líneas total no se cuentan entre sí: un total ya calculado no forma parte del siguiente. Sin embargo, una referencia normal a una línea de total es una línea normal y sí se incluye.
  • Elegibles: números escalares finitos, incluidos los tipos de presentación porcentaje y multiplicador, los escalares con nombre y los enteros exactos (exactos para |v| ≤ 2^53).
  • No elegibles: dinero, cantidades con unidades, booleanos, fechas, errores, líneas vacías/de etiqueta y filas agregadas derivadas.
  • Sombreado: un valor con nombre o constante activos llamados total desactivan el comando: la línea pasa a ser un valor con nombre normal.
  • La línea total es una suma de sección dentro de la hoja. Es distinta de la barra Total inferior de la app, que suma toda la hoja con independencia de las secciones, y de los comandos subtotal / grand total; consulta Etiquetas, subtotales y estadística.

Siguientes pasos

¿Has encontrado un error en esta documentación? Infórmalo en GitHub