Preguntas etiquetadas con raku

9
¿Se pueden exportar subconjuntos en Raku?

Me gustaría definir algunos subconjuntos a los que también estoy agregando algunas restricciones y algunas diedeclaraciones para algunos mensajes de error útiles. No quiero definirlos en la parte superior del módulo que usa esos subconjuntos y, en cambio, quiero colocarlos en otro módulo y al mismo...

9
¿Cómo puedo propagar y detectar errores lanzados en otro hilo en Raku?

¿Cuál es la mejor manera de propagar errores desde un hilo separado (por ejemplo, bloque de inicio, Proc :: Async o subcontenido que los contiene)? Simplemente envolver el código que hace girar un nuevo hilo en un bloque try / CATCH no funciona, y el uso de esperar solo funciona dependiendo del...

9
Cómo emular wc -l en Raku

En perl 5, puedes emular wc -lusando oneliner: perl -lnE 'END {say $.}' test.txt Cómo implementar esta funcionalidad en Raku Si intenta implementar esto: raku -e 'say "test.txt".IO.open.lines.elems' resulta ser lento y usa mucha memoria Información para reproducir: $ wget...

9
¿Cómo hacer una lista de listas de 2 elementos en un hash?

Tengo una lista de listas de dos elementos, como lo que obtendrías, por ejemplo (1..5) Z (20..24), que quiero convertir en un hash (en este ejemplo, lo que obtienes {1 => 20, 2 => 21, 3 => 22, 4 => 23, 5 =>24}. Podría hacerlo "a mano", pero eso no es No es muy elegante, y estoy...

9
Raku rebless ya no funciona con clases heredadas

El código dado en este hilo ya no funciona: ¿Cómo puedo rebadificar un objeto en Perl 6? Escribí este código el año pasado, y funcionó entonces. Ahora no lo hace: class Person { ; } class Woman is Person { ; } my $tom = Person.new; my $lisa = Woman.new; say $tom.^name; # -> Person say...

9
Detener la gramática de Raku en EOS (Fin de cadena)

En el proceso de escribir un traductor de un lenguaje musical a otro (ABC a Alda) como una excusa para aprender la habilidad Raku DSL, ¡me di cuenta de que no parece haber una manera de terminar a .parse! Aquí está mi código de demostración acortado: #!/home/hsmyers/rakudo741/bin/perl6 use v6d; #...

9
Hacer un declarador personalizado

Digamos que uso cierto conjunto de repeticiones con bastante frecuencia: class Foo { method abc($a: $b, $c, +@d) is pure { use Slang::Bar; … } method xyz($a: $b, $c, +@d) is pure { use Slang::Bar; … } method blarg($a: $b, $c, +@d) is pure { use Slang::Bar; … } } Prefiero poder...

9
¿Hay alguna manera de redeclarar un símbolo de manera segura?

A menudo me encuentro experimentando en el REPL y diré algo como: subset Bar of Int where * %% 57; Luego juego un poco con los controles de la Barcapacidad de las cosas. Todo es feliz, hasta que me doy cuenta de que quiero cambiar la definición de Bar. Si acabo de redefinir Bar, obtengo una...

9
¿Por qué Duration.new funciona con Int pero no con Rat?

Por una duración, ¿por qué necesito obligar a una rata a un real a mano, pero no a un int? Esta es Rakudo versión 2020.01 construida en MoarVM versión 2020.01.1 que implementa Perl 6.d. En OSX say $v.WHAT; #(Int) $v = Duration.new( $v ); say $v; #20 my $w = 20.0; say $w.WHAT; #(Rat) $w =...