Published: 2024-07-30
En el artículo anterior escribimos nuestro primer programa: Hola mundo. En este artículos vamos a modificar el mensaje y aprender un primer concepto llamado Strings.
Como siempre, vamos a trabajar en el archivo src/main.zig
del proyecto que creamos anteriormente.
En el programa que escribimos hay un monton de palabras, y seguramente no las entiendas. Ahora mismo, lo que vamos a hacer es modificar el texto que aparece.
Primero, observemos el código:
Lo que nos importa ahora mismo es la frase Hola mundo
.
Hay algunas particularidades:
"
,
y acaba con otra.\
y n
que no aparecen
al ejecutar el programa.Toda la frase es algo llamado un string. Un string es una secuencia de letras (caracteres) que unidas forman un texto.
Los strings se utilizan para representar texto. Ahora lo vas a modificar.
En el código, reemplaza Hola
por Adios
, y
ejecuta el programa. Veras que ahora el mensaje
que sale es Adios mundo!
const std = @import("std");
pub fn main() !void {
std.debug.print("Adios mundo!\n", .{});
}
Los strings tienen algunas reglas:
Para que sea fácil diferenciarlos, los strings automáticamente se marcan de color rojizo.
Un string siempre inicia con una comilla doble "
,
y termina con otra. Las comillas marcan el inicio
y fin del string.
Si colocas una comilla dentro de un string, lo que pasará es que el string terminará antes. Eso lo podrás ver por el color:
En la imagen superior puedes notar que Juan
está
de color azúl, no rojo.
Dentro de un string puede ir (casi) cualquier texto, con tal que esté dentro de la misma linea. Si la linea termina antes que el string, tendrás un error.
Si quieres un texto con una linea nueva se utiliza
una combinación especial de caracteres: \n
.
Estos 2 caracteres cuando estan juntos se traducen
a una nueva linea:
const std = @import("std");
pub fn main() !void {
std.debug.print("En la calle hay\nuna moto y un auto", .{});
}
Esto último es llamado un “caracter de escape”. Hay varios de ellos, pero los veremos más adelante.
Imprimir es que nuestro programa muestre un texto en pantalla. Todas las veces que hemos ejecutado nuestro programa, y aparecío un texto, hemos estado imprimiendo.
Zig tiene una instrucción para imprimir texto: std.debug.print
, que hemos estado utilizando.
Esta instrucción tiene 3 partes:
Dentro del string (2) podemos poner lo que querramos. Pero el resto tiene que estar igual, los parentesis, comas, llaves y punto y coma.
Adicionalmente, todas las instrucciones terminan
con un punto y coma ;
. Este señala que la instrucción
terminó, y esta lista para ejecutarse.
En nuestro programa podemos tener varias intrucciones, cada una imprimiendo algo nuevo:
const std = @import("std");
pub fn main() !void {
std.debug.print("Hola\n", .{});
std.debug.print("Soy fernando\n", .{});
std.debug.print("Adios\n", .{});
}
Cada instrucción se coloca en una linea nueva.
En el siguiente artículo continuaremos trabajando con impresiones, y aprenderemos qué es ese dato adicional misterioso.
Resuelve estos ejercicios en tu editor de texto VSCode. Al ejecutar debe salir en el terminal el mismo resultado que el del enunciado.
Si estas atascado en un problema puedes mostrar la solución, pero intenta resolverlos por ti mismo antes.
1: Utiliza std.debug.print
para imprimir:
2: Escribe un programa que imprima el siguiente texto
(necesitaras usar \n
para crear 2 lineas):
3: Escribe un programa que imprima el siguiente texto.
Utiliza 1 std.debug.print
para cada linea
4: Escribe un programa que imprima el siguiente texto.
Utiliza solo 1 std.debug.print
;
5: Escribe un programa que imprima el siguiente texto (fíjate en los espacios en blanco antes de cada palabra):
6: Escribe un programa que imprima el siguiente texto (fíjate en las lineas en blanco):