Curso de Raku / Avanzado / Control de flujo / Prefijos de sentencia / Exercises / El valor de un bloque do
Solución: El valor de un bloque do
Aquí tienes una posible solución para la tarea.
Código
my $label = do if 7 > 5 { 'big' } else { 'small' };
say $label;🦋 Puedes encontrar el código fuente en el archivo do-block.raku.
Salida
bigComentarios
Un
ifsimple es una sentencia y no tiene un valor utilizable. El prefijodoconvierte todo elif/elseen una expresión.Dado que
7 > 5es verdadero, la expresión produce'big', que se asigna a$label. El mismo truco funciona condo givenydo for.Las llaves
{ }no son opcionales. Elifde Raku siempre toma un bloque, así que no puedes acortar las ramas aif 7 > 5 'big' else 'small'; eso falla al compilar con Missing block.