Perguntas com a marcação «raku»

9
Subconjuntos podem ser exportados em Raku?

Gostaria de definir alguns subconjuntos aos quais também estou adicionando algumas restrições e algumas dieinstruções para algumas mensagens de erro úteis. Não quero defini-los na parte superior do módulo que usa esses subconjuntos e, em vez disso, quero colocá-los em outro módulo, além de acabar...

9
Como posso propagar e capturar erros lançados em outro segmento no Raku?

Qual é a melhor maneira de propagar erros a partir de um thread separado (por exemplo, bloco inicial, Proc :: Async ou sub contendo estes). Simplesmente encapsular o código que gera um novo encadeamento em um bloco try / CATCH não funciona, e o uso de aguardar funciona apenas dependendo do valor de...

9
Como emular wc -l em Raku

No perl 5, você pode emular wc -lusando o oneliner: perl -lnE 'END {say $.}' test.txt Como implementar esta funcionalidade no Raku Se você tentar implementar isso: raku -e 'say "test.txt".IO.open.lines.elems' acaba por ser lento e usa muita memória Informações para reproduzir: $ wget...

9
Como transformar uma lista de listas de 2 elementos em um hash?

Eu tenho uma lista de listas de dois elementos, como o que você obteria, por exemplo (1..5) Z (20..24), que eu quero transformar em hash (neste exemplo, o que você ganha {1 => 20, 2 => 21, 3 => 22, 4 => 23, 5 =>24}. Eu poderia fazê-lo "manualmente", mas isso não é é muito elegante e...

9
Raku rebless não funciona mais com classes herdadas

O código fornecido neste thread não funciona mais: como posso abençoar um objeto no Perl 6? Eu escrevi esse código no ano passado e funcionou então. Agora não: class Person { ; } class Woman is Person { ; } my $tom = Person.new; my $lisa = Woman.new; say $tom.^name; # -> Person say...

9
Interrompendo a gramática Raku na EOS (fim da string)

No processo de escrever um tradutor de uma linguagem musical para outra (ABC para Alda) como uma desculpa para aprender a capacidade DSL do Raku, notei que não parece haver uma maneira de encerrar a .parse! Aqui está o meu código de demonstração abreviado: #!/home/hsmyers/rakudo741/bin/perl6 use...

9
Criando um declarador personalizado

Digamos que eu use um certo conjunto de clichês regularmente: 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; … } } Prefiro dizer: class Foo...

9
Existe uma maneira de redeclarar com segurança um símbolo?

Costumo me fazer experiências no REPL e direi algo como: subset Bar of Int where * %% 57; Então brinco Barum pouco com as coisas boas. Tudo é feliz, até eu perceber que quero mudar a definição de Bar. Se eu apenas redefinir Bar, recebo uma Redeclaration of symbolexceção. Eu tentei usar...

9
Por que Duration.new funciona com Int, mas não com Rat?

Por uma Duração, por que preciso coagir um Rato a um Real manualmente, mas não um Int? Esta é a versão 2020.01 do Rakudo, criada no MoarVM versão 2020.01.1, implementando o Perl 6.d. No OSX. say $v.WHAT; #(Int) $v = Duration.new( $v ); say $v; #20 my $w = 20.0; say $w.WHAT; #(Rat) $w =...

9
Regex Perl vs. Regex Raku, diferenças no mecanismo?

Estou tentando converter uma solução baseada em regex para o problema da mochila do Perl para o raku. Detalhes sobre Perlmonks A solução Perl cria este regex: (?<P>(?:vvvvvvvvvv)?) (?<B>(?:vv)?) (?<Y>(?:vvvv)?) (?<G>(?:vv)?) (?<R>(?:v)?) 0 (?= (?(?{ $1 })wwww|) (?(?{...