Preguntas etiquetadas con raku

Para preguntas relacionadas con el lenguaje de programación Raku (anteriormente conocido como Perl 6).

14
¿Por qué no hay un método "cada" en las secuencias Perl6?

A veces empiezo a escribir una cadena de llamadas a métodos en Perl 6 REPL, como: ".".IO.dir.grep(...).map(...). ... y luego me doy cuenta de que lo que quiero hacer con la lista final es imprimir cada elemento en su propia línea. Esperaría que las secuencias tengan algo así como un eachmétodo...

14
Dificultad al construir una estructura de datos anidada

Al intentar crear un mensaje JSON para una API, me encontré luchando por hacer algo que pensé que sería simple. Necesitaba crear un mensaje como el siguiente: { "list": [ { "foo": 1, "bar": 2 } ] } Sin embargo, mi primer intento no funcionó: say to-json { foo => [ { a => 1, b => 2 } ]...

14
Puedo llamar a cualquier método en cero y esto se siente mal

Pasé un tiempo considerable depurando un script recientemente, y cuando finalmente encontré el problema fue por un código que se veía así: class Foo { has $.bar; method () { # do stuff $!.bar; } } Resultó que el problema era con eso $!.bar, que debería haber sido $!baro $.bar. Entiendo...

13
Expresando la secuencia de suma doble en Raku

¿Cómo expresar la secuencia de suma doble doble variable en Perl 6? Para ver un ejemplo de secuencia de suma doble doble variable , vea esto Debe expresarse como es, es decir, sin reducir matemáticamente la suma doble en una sola suma.

13
Cómo implementar alrededor en Raku

En Perl, usando Moo, puedes implementar aroundsubs, que envolverán otros métodos en una clase. around INSERT => sub { my $orig = shift; my $self = shift; print "Before the original sub\n"; my $rv = $orig->($self, @_); print "After the original sub\n"; }; ¿Cómo se puede implementar...

12
Mezcla de atributos públicos y privados y accesorios en Raku

#Private attribute example class C { has $!w; #private attribute multi method w { $!w } #getter method multi method w ( $_ ) { #setter method warn “Don’t go changing my w!”; #some side action $!w = $_ } } my $c = C.new $c.w( 42 ) say $c.w #prints 42 $c.w: 43 say $c.w #prints 43 #but...

11
Utilice Haskell como módulos Prelude en un módulo en raku

Estoy escribiendo un paquete de dibujo con algunas partes, y tengo operadores y tipos de datos dispersos en todo. Sin embargo, no quiero que los usuarios agreguen los módulos correspondientes cada vez, ya que sería bastante complicado, por ejemplo, tendría una Pointclase, un Monoidrol y una...

11
¿Alternativa a Perl's <> en Raku?

Aquí aprendí mi camino alrededor de Raku (neé Perl 6), muy agradable por todos lados. Pero extraño mucho la magia <>de Perl 5, donde puedes simplemente: my $x = <>; print $x; while(<>) { print join(':', split); } (lea la siguiente línea de entrada $x, repita el resto; la...

10
¿Cómo pasar parámetros a token referenciados por variable?

Puedo usar fácilmente las firmas de token usando el nombre del token directamente: my token t ( $x ) { $x }; 'axb' ~~ / 'a' <t: 'x'> 'b' /; # match 'axb' ~~ / 'a' <t( 'x' )> 'b' /; # match Sin embargo, no he encontrado una manera de hacer esto, cuando el token se almacena en...

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...