小编Eli*_*sen的帖子

R元运算符显然也颠倒了列表

[R metaop应该扭转它也适用于运营商的影响。但是,它的作用显然不止于此,如果那是应用于列表,则反转列表:

my @crossed = <1 2 3> Z <4 5 6>; # [(1 4) (2 5) (3 6)]
say [RZ] @crossed; # ((3 2 1) (6 5 4))
Run Code Online (Sandbox Code Playgroud)

我想获得的是原始列表,但是结果相反。我在这里想念什么吗?

perl6 raku

5
推荐指数
2
解决办法
94
查看次数

Perl6:如何按目录年龄对`dir`结果进行排序?

我试图在Perl6中按年龄获取目录列表,这等效于Bash,ls -tl | grep ^dr但是我什至不确定如何按年龄对结果进行排序

for dir (test => {$_.IO.d}) -> $dir {...}

如何按目录年龄对这些结果进行排序?

perl6 raku

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

如何获取模块的版本

我正在尝试实现模块的--version选项,但是我不知道如何访问META6.json文件。任何想法如何?我可以复制到资源目录,但这是LTA。

version perl6 zef raku

5
推荐指数
0
解决办法
72
查看次数

如何在shell函数中转义引号?

这是基于实现Perl 6.d的MoarVM版本2019.03构建的Rakudo Star版本2019.03.1。

Windows 10

例子:

1)错误:

shell 'mysqldump -uroot -ppassword asppmr > D:\b\29-09-2019 19-45-18\asppmr.sql';
Run Code Online (Sandbox Code Playgroud)

mysqldump:[警告]在命令行界面上使用密码可能不安全。mysqldump:找不到表:“ 19-45-18 \ asppmr.sql” Proc.new(in => IO :: Pipe,out => IO :: Pipe,err => IO :: Pipe,exitcode => 6,信号=> 0,pid => 11928,命令=>(“ mysqldump -uroot -ppassword asppmr> D:\ b \ 29-09-2019 19-45-18 \ asppmr.sql”))

2)错误:

shell 'mysqldump -uroot -ppassword asppmr > "D:\b\29-09-2019 19-45-18\asppmr.sql"';
Run Code Online (Sandbox Code Playgroud)

??????????????? ?????? ??????? ??????,????? ?????? ??? ?????? ????。Proc.new(in => IO :: Pipe,out => IO :: Pipe,err => IO :: Pipe,exitcode => 1,信号=> 0,pid …

perl6 raku

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

创建并填充Raku对象数组?

我选择在Perl 6中重新设计我的先前代码的一部分,在这种情况下,是棋盘。前两节课进展顺利(或者至少工作了,我知道的很少,我无法说出它们的正确性) ,但我坚持使用第三个。这是代码:

#!/home/hsmyers/rakudo741/bin/perl6
# board.p6 - Beginnings of a PGN toolset. And place to start learning
#            Perl 6/Raku.
use v6d;

#!___________________________________________________________

constant $size = 4;

class Piece {
    my Str @namesOfPieces[$size] = <
        white-rook white-knight white-bishop white-queen
    >;
    my Str @abrevsOfPieces[$size] = <
        R N B Q K B N R
    >;
    my Str @symbolsOfPieces[$size] = <
        &#9814; &#9816; &#9815; &#9813; &#9812; &#9815; &#9816; &#9814;
    >;
    my Str @codeptsOfPieces[$size] = (
        "\x2656", "\x2658", "\x2657", "\x2655",
    );
    has Str …
Run Code Online (Sandbox Code Playgroud)

raku

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

为什么梳子在循环内表现不同?

注意:我正在使用这是Rakudo Star版本2019.03.1在REPL上进行所有操作,这是在实现Perl 6.d的MoarVM版本2019.03上构建的Rakudo Star版本2019.03.1。

在euler项目#22中,有一个names.txt文件,类似于“ JERE”,“ HAI”,“ ELDEN”,“ DORSEY”,“ DARELL”,“ BRODERICK”,“ ALONSO”,...

当我读到它时,将其拆分和排序,即可得到我所期望的名称列表。

for '../names.txt'.IO.slurp.split(',').sort -> $name {
    say $name;
}
Run Code Online (Sandbox Code Playgroud)

打印出来

...
"ZONIA"
"ZORA"
"ZORAIDA"
"ZULA"
"ZULEMA"
"ZULMA"
Run Code Online (Sandbox Code Playgroud)

现在,如果我添加 comb()

for '../names.txt'.IO.slurp.split(',').sort -> $name {
    say $name.comb;
}
Run Code Online (Sandbox Code Playgroud)

我越来越

...
(" Z O N I A ")
(" Z O R A ")
(" Z O R A I D A ")
(" Z U L A ")
(" Z U L E M A ")
(" Z U …
Run Code Online (Sandbox Code Playgroud)

raku

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

如何为返回完整结构的C函数编写Raku声明?

我有这个C代码:

typedef struct {
  double dat[2];
} gsl_complex;

gsl_complex gsl_poly_complex_eval(const double c[], const int len, const gsl_complex z);
Run Code Online (Sandbox Code Playgroud)

C函数返回整个结构,而不仅仅是指针,因此我不能将Raku声明写为:

sub gsl_poly_complex_eval(CArray[num64] $c, int32 $len, gsl_complex $z --> gsl_complex)
  is native(LIB) is export { * }
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

nativecall raku

5
推荐指数
2
解决办法
76
查看次数

raku:在 Raku 2020.10 中支持 utf8-c8 问题

我有一个来自 Wild Wild Web 的文件,它包含格式错误的 UTF8。我在早期版本的 Raku 中处理了其他代码中格式错误的 UTF8。在 2020.10 版本中,我在下面遇到了这个问题。对 utf8-c8 的支持是否已更改(此页面说它应该可以工作,但似乎没有):

https://docs.raku.org/language/unicode#index-entry-UTF-8_Clean-8

这个页面有这个例子:

say slurp($test-file, enc => 'utf8-c8');
Run Code Online (Sandbox Code Playgroud)

现在我在命令行上的代码:

raku -e 'my $a = slurp("zlist"); for $a.lines { .say }'
Malformed UTF-8 near bytes 73 e2 5f at line 55 col 14
  in block <unit> at -e line 1
Run Code Online (Sandbox Code Playgroud)

然后使用这个:

raku -e 'my $a = slurp("zlist", enc => 'utf8-c8'); for $a.lines { .say }'
===SORRY!=== Error while compiling -e
Undeclared routine:
    utf8-c8 used at line 1
Run Code Online (Sandbox Code Playgroud)

我的代码很简单,基本上是从示例中复制的。我究竟做错了什么?

utf-8 raku

5
推荐指数
0
解决办法
77
查看次数

是否有 Raku 方法允许对哈希值进行排序并从其对中拆分?

我目前正在尝试使用数组中的哈希来查找数组中每个特定项目的键和值。当我没有对数组进行排序时,但当我创建一个排序数组时,我能够做到这一点,并且键和值都是分开的,例如:

my @sorted_pairs = %counts{$word}.sort(*.value);
Run Code Online (Sandbox Code Playgroud)

它将值绑定在一起。是否有一种排序哈希值的方法,允许将哈希值对拆分为数组中的单独实体?我希望能够分别访问“单词”字符串以及该单词被视为整数的计数或次数。

我使用这个来源作为参考。我已经尝试了其中一些方法,虽然它似乎确实按给定输出的数值对数组进行排序:

排序数组:[做=> 1休息=> 1看=> 1想要=> 1给予=> 1想象=> 2阅读=> 2授予=> 2曾经=> 2爱=> 2将=> 2感觉= > 2意味着=> 2喜欢=> 2你=> 2生活=> 3写=> 3来=> 3知道=> 3是=> 3妈妈=> 4]

它不会将键和值彼此分开。

hash rakudo raku

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

无法使用 bless 方法设置属性

遇到了一个奇怪的情况,我认为可能是一个错误。没有把握。但我有这个:

\n
\nclass Y {\n    has Int $.vol;\n    has Str $.quant;\n    has Str $.abbr;\n    submethod BUILD(\n                    Str      :$!abbr,\n                    Int      :$!vol,\n                    ) { }\n}\n\nclass X is Y {\n    multi method new(Int:D :$vol) {\n        self.bless(\n                :$vol,\n                :abbr('C'),\n                );\n    }\n\n    multi method new(Str:D :$quant) {\n        self.bless(\n                :$quant,\n                :abbr('C'),\n                );\n    }\n\n}\n\nmy $x = X.new(vol => 7);\nsay $x;\n\n# OUTPUT: X.new(vol => 7, abbr => "C")\n\n
Run Code Online (Sandbox Code Playgroud)\n

这按预期工作。该abbr属性已填充。但是,在下面的代码中,我无法填充abbr

\n
#!/usr/bin/env raku\nuse v6.d;\nuse Lingua::EN::Numbers;\nconstant N\xe1\xb4\x80 = 602214076000000000000000;\n\nclass Mass-t { ... }\nclass Mass-kg { …
Run Code Online (Sandbox Code Playgroud)

raku

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

标签 统计

raku ×10

perl6 ×4

hash ×1

nativecall ×1

rakudo ×1

utf-8 ×1

version ×1

zef ×1