小编Eug*_*sky的帖子

Perl 6:trans(%h)vs trans(%h .keys =>%h.values)

另一个关于hash作为论据的问题trans.在下面的代码中,简单地hash给出了一个不正确的结果,但是替换它keysvalues使其正确.怎么了?

my @alph1 = <a+ b+ c+ d+ e+ f+>;
my @alph2 = <A_ B_ C_ D_ E_ F_>;
my %h;
%h{ @alph1 } = @alph2;

my $str = 'a+bc de+f';

my $text = $str.trans(%h);
say $text;    # A_BC DE_F (incorrect)

$text = $str.trans(%h.keys => %h.values);
say $text;    # A_bc dE_f (correct)
Run Code Online (Sandbox Code Playgroud)

perl6

3
推荐指数
1
解决办法
109
查看次数

使用Perl 6中的字符串值从数组中建立联结

这就是我想要做的.它应该很简单,但我无法弄清楚如何正确地做到这一点.

> my @search_keys = <bb cc dd>
[bb cc dd]
> my $search_junc = @search_keys.join('|')
bb|cc|dd
> "bb" eq $search_junc
False
Run Code Online (Sandbox Code Playgroud)

perl6

3
推荐指数
1
解决办法
141
查看次数

如何拆分我想要在Perl 6中打印的长字符串?

say "This is a very long line, and it seems it will not fit my screen, but alas, I don't know how to split it without getting an additional newline";
Run Code Online (Sandbox Code Playgroud)

如何"..."在输出中没有得到不需要的换行符的情况下将其分成几行(我的意思是在代码中)?我\在换线之前考虑过,但它不起作用.

perl6

3
推荐指数
1
解决办法
151
查看次数

如何在Perl 6正则表达式中匹配相同数量的不同原子?

应该很简单,但我无法应付它.

我想匹配与as 完全相同的bs数.所以,以下

my $input = 'aaabbbb';
$input ~~ m:ex/ ... /;
Run Code Online (Sandbox Code Playgroud)

应该产生:

aaabbb
aabb
ab
Run Code Online (Sandbox Code Playgroud)

UPD:以下变种不起作用,可能是因为@ smls的答案中:ex提到的bug (但更可能是因为我犯了一些错误?):

> my $input = "aaabbbb";
> .put for $input ~~ m:ex/ (a) * (b) * <?{ +$0 == +$1 }> /;
Nil
> .put for $input ~~ m:ex/ (a) + (b) + <?{+$0 == +$1}> /;
Nil
Run Code Online (Sandbox Code Playgroud)

这个,:ov?,工作:

> my $input = "aaabbbb";
> .put for $input ~~ m:ov/ …
Run Code Online (Sandbox Code Playgroud)

perl6

3
推荐指数
2
解决办法
201
查看次数

我可以删除SetHash的元素并在Perl 6中使用它的值吗?

我想删除a的任何元素SetHash,以便返回其值:

my SetHash $a;
$a<m n k> = 1..*;
my $elem = $a.mymethod;
say $elem; # n
say $a; # SetHash(m k)
Run Code Online (Sandbox Code Playgroud)

我可以分两步完成,如下所示.有没有更好的办法?

my $elem = $a.pick;
$a{$elem}--;
Run Code Online (Sandbox Code Playgroud)

顺便说一下,是否有更多惯用的方法可以添加几个元素SetHash

以下是否更好?

my SetHash $a;
$a{$_}++ for <m n k>;
Run Code Online (Sandbox Code Playgroud)

要么

my SetHash $a;
$a<m n k> X= True;
Run Code Online (Sandbox Code Playgroud)

perl6 raku

3
推荐指数
2
解决办法
117
查看次数

如何在Ctrl + D输入上退出Perl 6脚本?

loop {
  my $word = prompt '> ' ;
  say $word;
}
Run Code Online (Sandbox Code Playgroud)

什么是正确的方法,exit如果/当而不是打印一个单词我按Ctrl + D?

perl6

3
推荐指数
2
解决办法
137
查看次数

从Perl 6中的数组值的哈希中检索数据

我有一个包含3个元素的数组:

my @a = <x y z>;
Run Code Online (Sandbox Code Playgroud)

然后我用Array值创建一个哈希,并使其@a内容成为其值之一:

my Array %h;
%h<a> = @a;
Run Code Online (Sandbox Code Playgroud)

稍后我检索此值并将其分配给另一个数组:

my @A = %h<a>;
Run Code Online (Sandbox Code Playgroud)

但我得到的@A不是一个包含3个元素的数组,而是一个元素的数组,它本身就是一个包含3个元素的数组:

say @A;          # [[x y z]]
say @A[0].elems; # 3
Run Code Online (Sandbox Code Playgroud)

所以,%h<a>push编入@A.

我的代码中的错误在哪里?

UPD:这似乎解决了这个问题,但并没有提高我的理解力.:)

my @A = @(%h<a>);
say @A; [x y z]
Run Code Online (Sandbox Code Playgroud)

perl6

3
推荐指数
1
解决办法
134
查看次数

Perl 6 one-liner 打印文件的唯一行

我发现这个非常有用的单行,它可以工作,但我无法理解它是如何设法在文件行中循环两次。

perl6 -ne 'state %l; .say if ++%l{$_} == 1' input-file.txt
Run Code Online (Sandbox Code Playgroud)

raku

3
推荐指数
1
解决办法
248
查看次数

在Perl 6中使用循环组合正则表达式

在这里,我regexRegex数组元素手动创建.

my Regex @reg =
  / foo /,
  / bar /,
  / baz /,
  / pun /
  ;

my $r0 = @reg[0];
my $r1 = @reg[1];

my Regex $r = / 0 $r0 | 1 $r1 /;

"0foo_1barz" ~~ m:g/<$r>/;
say $/;  # (?0foo? ?1bar?)
Run Code Online (Sandbox Code Playgroud)

怎么做for @reg {...}

perl6

2
推荐指数
1
解决办法
110
查看次数

Perl序列的数字与前导零

是否有一些简单的方法(没有sprintf,当然,还有printf)获得(001, 002, ... 100)Perl 的列表?在bash中它就像是seq -w 1 100.Perl怎么样?

perl sequence leading-zero

1
推荐指数
2
解决办法
803
查看次数

Scala:函数参数 Int 或 Double,如何使其通用?

我几乎可以肯定已经有了答案,但是作为 Scala 的初学者,我找不到它。

因此,我创建了一个power包含两个参数的函数:

def power(x: Double, n: Int): Double = {
  @scala.annotation.tailrec
  def go(acc: Double, i: Int): Double = {
    if (i == 0) acc
    else go(acc * x, i - 1)
    }

  go(1, n)
}
Run Code Online (Sandbox Code Playgroud)

如果我然后计算 power(2, 3)

  println(
    power(2, 3)
  )
Run Code Online (Sandbox Code Playgroud)

我明白了8.0,这很好,但8如果第一个参数是,那就更好了Int。我怎样才能做到这一点?

generics scala

1
推荐指数
1
解决办法
140
查看次数

Puppeteer 保存在浏览器中打开的图像

我有一个 (gif) 图像的链接,通过“在新选项卡中打开”手动获取。我希望 Puppeteer 打开图像,然后将其保存到文件中。如果在普通浏览器中执行此操作,我会单击右键并从上下文菜单中选择“保存”。在 Puppeteer 中是否有一种简单的方法来执行此操作?

javascript web-scraping google-chrome-headless puppeteer

0
推荐指数
1
解决办法
3677
查看次数