Matemáticas
Hay veces que simplemente necesitas sumar un par de números cuando te encuentras resolviendo problemas. Nu ofrece un conjunto de operaciones matemáticas básicas que puedes utilizar. Expresiones matemáticas se encuentran disponibles cuando llamas a un comando.
Sumar, Restar, Mupltiplicar, Dividir
> 1 + 3
4
En Nu puedes realizar lo usual: sumar, restar, mutiplicar y dividir con los operadores +
, -
, *
, y /
respectivamente. Precedencia de operadores es respetada, por lo que 1 + 2 * 3
será tratado como 1 + (2 * 3)
. Lo que nos lleva a paréntesis.
Paréntesis
Puedes usar paréntesis para agrupar expresiones matemáticas en modo math
. Esto te permite escribir (1 + 2) * 3
si deseas que adición tenga mayor precedencia.
in
y not-in
Puedes revisar si un valor se encuentra dentro de un conjunto de valores o no, usando los operadores in
y not-in
.
> 1 in [1 2 3]
true
> 1 not-in [1 2 3]
false
=~ y !~
Puedes revisar si una cadena se encuentra dentro de otra cadena o no, usando =~
y !~
.
> "gallinagallo" =~ "gallo"
true
> "gallinagallo" !~ "pollito"
true
Comparaciones
Los siguientes comparadores también se encuentran disponibles:
<
- menor que<=
- menor o igual que>
- mayor que>=
- mayor o igual que==
- igual a!=
- no es igual a
Operadores Compuestos
Nushell también soporta &&
y ||
para unir dos operaciones que regresen valores booleanos, usando y
y o
respectivamente. Por ejemplo: ls | where name in ["uno" "dos" "tres"] && size > 10kb
Orden de operaciones
Las operaciones matemáticas son evaluadas de la siguiente manera (de mayor precedencia a menor):
- Parentesis (
()
) - Multiplicación (
*
) y División (/
) - Suma (
+
) y Resta (-
)
> 3 * (1 + 2)
9
Modo matemático abreviado
Hay una variación abreviada "short-hand" en modo matemático incluída en Nushell. La razón se debe a que permite una forma de acceder columnas de manera más simple.
Es probable que ya la usaste antes. Por ejemplo, supongamos que deseamos ver filas de ls
donde para cada uno por lo menos tenga 10 kilobytes, podemos escribir:
> ls | where size > 10kb
El comando where memoria > 10kb
tiene dos partes: El nombre del comando where
y su abreviación expresión matemática size > 10kb
. Indicamos abreviada
debido a que size
es una versión acortada de escribir $it.size
. Si observamos su forma completamente expandida, veríamos:
> ls | where {|$it| $it.size > 10kb }
Usamos el modo abreviado para trabajar con datos de columnas para no tener que repetir la forma expandida siempre.
Para el funcionamiento apropiado de la abreviación acortada y por lo tanto su expansión, el nombre de la columna tiene que aparecer en el lado izquierdo de la operación. Arriba, size
aparece en en lado izquierdo de la comparación que permite la expresión expanderse al modo completo matemático del bloque.