Curso de Raku / Avanzado / Más sobre los tipos integrados / Construcciones de entrecomillado
Adverbios de entrecomillado
El comportamiento de una construcción de entrecomillado se puede
ajustar con adverbios. Cada característica del entrecomillado —
interpolar escalares, ejecutar closures incrustados, procesar barras
invertidas — se controla con su propio adverbio, que activa o desactiva
esa única característica, de modo que puedes partir de q o
Q y añadir exactamente las funciones que necesites.
Algunos adverbios comunes:
:s/:scalar— interpola variables escalares ($x):c/:closure— interpola código incrustado en{ … }:b/:backslash— procesa secuencias de escape con barra invertida como\n
Añade uno a q para habilitar una sola característica.
Por ejemplo, permitir código incrustado pero nada más:
say q/result: {3 * 4}/; # result: {3 * 4} — plain q leaves the block untouched
say q:c/result: {3 * 4}/; # result: 12 — :c runs the blockCon q simple, { 3 * 4 } se imprime tal
cual; solo :c hace que el bloque se ejecute e inserta su
valor, mientras que un $variable seguiría sin tocarse.
Observa los delimitadores /…/ aquí: delimitar la cadena con
{…} también funcionaría — el compilador cuenta las llaves
anidadas correctamente — pero entonces el { 3 * 4 }
interior se lee como parte del texto delimitado en lugar de como un
closure, así que :c lo dejaría literal. Cuando el texto
contiene un bloque { … }, elige un delimitador distinto de
{…} para que el closure realmente se ejecute. Puedes añadir
interpolación escalar al Q, que por defecto es literal:
my $name = 'Anna';
say Q:s{Hi, $name}; # Hi, AnnaLos adverbios también desactivan características con
un !. Para usar qq pero mantener
$ literal:
my $price = 5;
say qq:!s{costs $price dollars}; # costs $price dollarsqq equivale a Q con todos los adverbios de
interpolación activados, y q equivale a Q con
un conjunto más reducido. Los adverbios te dan control detallado entre
esos dos extremos.
Práctica
Resuelve 1 cuestionario sobre el contenido de este tema.
Navegación del curso
← Quiz — Entrecomillado | Quiz — Adverbios de entrecomillado →
💪 O ve directamente a los ejercicios de esta
sección.