You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: es/book/aliases.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,26 +9,26 @@ Un alias te permite crear un nombre corto para un bloque de comandos. Cuando se
9
9
Ejemplo:
10
10
11
11
```
12
-
> alias ls-nombres [] { ls | select name }
13
-
> ls-nombres
14
-
────┬────────────────────
15
-
# │ name
16
-
────┼────────────────────
17
-
0 │ 404.html
18
-
1 │ CONTRIBUTING.md
19
-
2 │ Gemfile
20
-
3 │ Gemfile.lock
21
-
4 │ LICENSE
12
+
alias ls-nombres [] { ls | select name }
13
+
ls-nombres
14
+
# => ────┬────────────────────
15
+
# => # │ name
16
+
# => ────┼────────────────────
17
+
# => 0 │ 404.html
18
+
# => 1 │ CONTRIBUTING.md
19
+
# => 2 │ Gemfile
20
+
# => 3 │ Gemfile.lock
21
+
# => 4 │ LICENSE
22
22
```
23
23
24
24
## Parámetros
25
25
26
26
También pueden tomar parámetros opcionales que son pasadas al bloque. Cada parámetro se convierte en una variable en el bloque.
27
27
28
28
```
29
-
> alias decir [mensaje] { echo $mensaje }
30
-
> decir "¡hola!"
31
-
¡hola!
29
+
alias decir [mensaje] { echo $mensaje }
30
+
decir "¡hola!"
31
+
# => ¡hola!
32
32
```
33
33
34
34
Puedes tener un número arbitrario de estos argumentos. Cuando el usuario no proporciona un valor, la variable en el bloque evaulara a `Nothing` y será eliminada.
Copy file name to clipboardExpand all lines: es/book/cargando_datos.md
+90-90Lines changed: 90 additions & 90 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,25 +7,25 @@ Hemos visto como puedes usar comandos como `ls`, `ps`, `date`, y `sys` para carg
7
7
Una de las funciones más destacadas de Nu para trabajar con datos es el comando `open`. Es una multi-herramienta que puede trabajar con varios formatos de datos. Para ver qué significa esto intentemos abrir un archivo en formato json:
De manera similar a `ls`, abrir un tipo de archivo que Nu entienda nos devolverá algo más que solo texto (o una secuencia de bytes). Aquí abrimos el archivo "package.json" de un proyecto de JavaScript. Nu puede reconocer y abrir el texto en JSON y devolvernos una tabla de datos.
23
23
24
24
Si deseamos revisar la versión del proyecto que estamos mirando podemos usar el comando `get`.
25
25
26
26
```
27
-
> open editors/vscode/package.json | get version
28
-
1.0.0
27
+
open editors/vscode/package.json | get version
28
+
# => 1.0.0
29
29
```
30
30
31
31
Actualmente Nu soporta los siguiente formatos para cargar datos directamente a tablas:
@@ -40,7 +40,7 @@ Actualmente Nu soporta los siguiente formatos para cargar datos directamente a t
40
40
¿Pero qué sucede si cargas un archivo de texto que no sea de estos? Probemos:
41
41
42
42
```
43
-
> open README.md
43
+
open README.md
44
44
```
45
45
46
46
Se nos muestra el contenido del archivo. Si el archivo es muy grande obtendremos una vista práctica desplazable para mirar el archivo y luego regresar a la terminal. Para ayudar con legibilidad Nu resaltará la sintaxis de formatos comunes de archivos como de código, markdown, y más.
@@ -54,90 +54,90 @@ Una parte importante de trabajar con datos llegando fuera de Nu es que no siempr
54
54
Imaginemos que nos proporcionan estos datos de archivo:
55
55
56
56
```
57
-
> open gente.txt
58
-
Octavia | Butler | Writer
59
-
Bob | Ross | Painter
60
-
Antonio | Vivaldi | Composer
57
+
open gente.txt
58
+
# => Octavia | Butler | Writer
59
+
# => Bob | Ross | Painter
60
+
# => Antonio | Vivaldi | Composer
61
61
```
62
62
63
63
Cada pedazo de dato que deseamos está separada por el símbolo de tubería (pipe '|'), y cada persona está en líneas separadas. Nu no contiene un formato de archivo delimitado con pleca ('|') predeterminado, por lo que tendremos que parsearlo nosotros mismos.
64
64
65
65
Lo primero que queremos hacer al cargar el archivo es trabajarlo línea por línea:
66
66
67
67
```
68
-
> open gente.txt | lines
69
-
---+------------------------------
70
-
# | value
71
-
---+------------------------------
72
-
0 | Octavia | Butler | Writer
73
-
1 | Bob | Ross | Painter
74
-
2 | Antonio | Vivaldi | Composer
75
-
---+------------------------------
68
+
open gente.txt | lines
69
+
# => ---+------------------------------
70
+
# => # | value
71
+
# => ---+------------------------------
72
+
# => 0 | Octavia | Butler | Writer
73
+
# => 1 | Bob | Ross | Painter
74
+
# => 2 | Antonio | Vivaldi | Composer
75
+
# => ---+------------------------------
76
76
```
77
77
78
78
Podemos darnos cuenta que estamos trabajando con las líneas porque estamos de vuelta a una lista. Nuestro próximo paso es mirar si podemos dividir las filas a algo más útil. Para eso, usaremos el comando `split`. `split`, como implica el nombre, nos da una manera de dividir una cadena delimitada. Usaremos el subcomando `column` para dividir el contenido a varias columnas. Indicamos cuál es el delimitador y se hace el resto:
79
79
80
80
```
81
-
> open gente.txt | lines | split column "|"
82
-
---+----------+-----------+-----------
83
-
# | Column1 | Column2 | Column3
84
-
---+----------+-----------+-----------
85
-
0 | Octavia | Butler | Writer
86
-
1 | Bob | Ross | Painter
87
-
2 | Antonio | Vivaldi | Composer
88
-
---+----------+-----------+-----------
81
+
open gente.txt | lines | split column "|"
82
+
# => ---+----------+-----------+-----------
83
+
# => # | Column1 | Column2 | Column3
84
+
# => ---+----------+-----------+-----------
85
+
# => 0 | Octavia | Butler | Writer
86
+
# => 1 | Bob | Ross | Painter
87
+
# => 2 | Antonio | Vivaldi | Composer
88
+
# => ---+----------+-----------+-----------
89
89
```
90
90
91
91
Casi se ve correcto. Parece que hay espacio extra ahí. Cambiemos nuestro delimitador:
92
92
93
93
```
94
-
> open gente.txt | lines | split column " | "
95
-
---+---------+---------+----------
96
-
# | Column1 | Column2 | Column3
97
-
---+---------+---------+----------
98
-
0 | Octavia | Butler | Writer
99
-
1 | Bob | Ross | Painter
100
-
2 | Antonio | Vivaldi | Composer
101
-
---+---------+---------+----------
94
+
open gente.txt | lines | split column " | "
95
+
# => ---+---------+---------+----------
96
+
# => # | Column1 | Column2 | Column3
97
+
# => ---+---------+---------+----------
98
+
# => 0 | Octavia | Butler | Writer
99
+
# => 1 | Bob | Ross | Painter
100
+
# => 2 | Antonio | Vivaldi | Composer
101
+
# => ---+---------+---------+----------
102
102
```
103
103
104
104
Nada mal. El comando `split` nos da datos que podemos usar. Adicionalmente nos crea nombres de columnas predeterminadas:
105
105
106
106
```
107
-
> open gente.txt | lines | split column " | " | get Column1
108
-
---+---------
109
-
# | value
110
-
---+---------
111
-
0 | Octavia
112
-
1 | Bob
113
-
2 | Antonio
114
-
---+---------
107
+
open gente.txt | lines | split column " | " | get Column1
108
+
# => ---+---------
109
+
# => # | value
110
+
# => ---+---------
111
+
# => 0 | Octavia
112
+
# => 1 | Bob
113
+
# => 2 | Antonio
114
+
# => ---+---------
115
115
```
116
116
117
117
También podemos nombrar nuestras columnas en vez de usar nombres predeterminados:
118
118
119
119
```
120
-
> open gente.txt | lines | split column " | " primer_nombre apellido trabajo
121
-
---+---------------+-----------+----------
122
-
# | primer_nombre | apellido | trabajo
123
-
---+---------------+-----------+----------
124
-
0 | Octavia | Butler | Writer
125
-
1 | Bob | Ross | Painter
126
-
2 | Antonio | Vivaldi | Composer
127
-
---+---------------+-----------+----------
120
+
open gente.txt | lines | split column " | " primer_nombre apellido trabajo
121
+
# => ---+---------------+-----------+----------
122
+
# => # | primer_nombre | apellido | trabajo
123
+
# => ---+---------------+-----------+----------
124
+
# => 0 | Octavia | Butler | Writer
125
+
# => 1 | Bob | Ross | Painter
126
+
# => 2 | Antonio | Vivaldi | Composer
127
+
# => ---+---------------+-----------+----------
128
128
```
129
129
130
130
Ahora que tenemos nuestros datos en una tabla podemos usar todos los comandos que hemos usado en tablas antes:
131
131
132
132
```
133
-
> open gente.txt | lines | split column " | " primer_nombre apellido trabajo | sort-by primer_nombre
134
-
---+---------------+-----------+----------
135
-
# | primer_nombre | apellido | trabajo
136
-
---+---------------+-----------+----------
137
-
0 | Antonio | Vivaldi | Composer
138
-
1 | Bob | Ross | Painter
139
-
2 | Octavia | Butler | Writer
140
-
---+---------------+-----------+----------
133
+
open gente.txt | lines | split column " | " primer_nombre apellido trabajo | sort-by primer_nombre
134
+
# => ---+---------------+-----------+----------
135
+
# => # | primer_nombre | apellido | trabajo
136
+
# => ---+---------------+-----------+----------
137
+
# => 0 | Antonio | Vivaldi | Composer
138
+
# => 1 | Bob | Ross | Painter
139
+
# => 2 | Octavia | Butler | Writer
140
+
# => ---+---------------+-----------+----------
141
141
```
142
142
143
143
Hay otros comandos que puedes usar para trabajar con cadenas:
@@ -149,25 +149,25 @@ Hay otros comandos que puedes usar para trabajar con cadenas:
149
149
También hay un conjunto de comandos auxiliares que podemos llamar si conocemos de antemano que los datos tienen una estructura que Nu debería de entender. Por ejemplo, abramos un Rust archivo lock:
150
150
151
151
```
152
-
> open Cargo.lock
153
-
# This file is automatically @generated by Cargo.
154
-
# It is not intended for manual editing.
155
-
[[package]]
156
-
name = "adhoc_derive"
157
-
version = "0.1.2"
152
+
open Cargo.lock
153
+
# => # This file is automatically @generated by Cargo.
154
+
# => # It is not intended for manual editing.
155
+
# => [[package]]
156
+
# => name = "adhoc_derive"
157
+
# => version = "0.1.2"
158
158
```
159
159
160
160
The `from` command can be used for each of the structured data text formats that Nu can open and understand by passing it the supported format as a subcommand.
161
161
162
162
El archivo "Cargo.lock" es un archivo en formato .toml pero la extensión del archivo no es .toml. Está bien, podemos usar el comando `from` usando el subcomando `toml`:
163
163
164
164
```
165
-
> open Cargo.lock | from toml
166
-
----------+-------------
167
-
metadata | package
168
-
----------+-------------
169
-
[object] | [405 items]
170
-
----------+-------------
165
+
open Cargo.lock | from toml
166
+
# => ----------+-------------
167
+
# => metadata | package
168
+
# => ----------+-------------
169
+
# => [object] | [405 items]
170
+
# => ----------+-------------
171
171
```
172
172
173
173
El comando `from` se puede usar para cada dato estructurado de formatos de texto que Nu pueda abrir y entender pasando el formato soportado como subcomando.
@@ -177,24 +177,24 @@ El comando `from` se puede usar para cada dato estructurado de formatos de texto
177
177
Mientras es útil poder abrir un archivo e inmediatamente trabajar con una tabla de sus datos, esto no siempre es lo que deseas hacer. Para llegar al texto subyacente, el comando `open` puede tomar una bandera opcional:
Además de cargar archivos desde tu archivos de sistema, también puedes usar el comando `http get` proporcionando una URL. Se cargará el contenido de la URL por internet y devolverá:
0 commit comments