【发布时间】:2015-05-16 12:50:44
【问题描述】:
我正在尝试生成包含 10 个具有随机质量分数的随机序列的 FASTQ files。我最初使用以下代码,效果很好:
my @seq = (rand_fa_seq() for ^10);
my @qual = (rand_qual() for ^10);
@seq.perl.say;
@qual.perl.say;
sub rand_fa_seq
{
return join("", roll(20,"ACGT".comb));
}
sub rand_qual
{
return join("", roll(20,"EFGHIJ".comb))
}
但是,为了进一步简化它,我想也许我可以从右边的语句中删除括号。当我这样做时,我在@seq 和@qual 中只得到了一个元素。
my @seq = rand_fa_seq() for ^10;
my @qual = rand_qual() for ^10;
@seq.perl.say;
@qual.perl.say;
sub rand_fa_seq
{
return join("", roll(20,"ACGT".comb));
}
sub rand_qual
{
return join("", roll(20,"EFGHIJ".comb))
}
这是一个错误还是它应该表现的方式?没有括号,这是一个标量上下文吗? Great List Refactor 会改变这种行为吗?
我见过这种行为的 Perl 6 解释器版本:
MoarVM:
基于 MoarVM 版本 2015.03-60-g36d56f7 构建的 perl6 版本 2015.03-204-g8578022
JVM:
基于 JVM 构建的 perl6 版本 2015.03-305-ga95107d java版本“1.7.0_79”
OpenJDK 运行时环境 (rhel-2.5.5.1.el7_1-x86_64 u79-b14)
OpenJDK 64-Bit Server VM(build 24.79-b02,混合模式)
【问题讨论】:
标签: raku