raku相关内容

如何在 perl6 中访问语法的可选部分?

作为我语法的一部分,我有: 规则 EX1 { ( '/' )* } 在我的动作类中我写过: 方法 EX1($/) {我的@ex2s = map *.made, $/.;我的 $ex1 = @ex2s.join('|');#say "EX1 制作 $ex1";$/.make($ex1);} 所以基本上我只是想将所有 EX2 与它们之间的 '|' 而不是 '/' 连接在一起>.然而,我的代 ..
发布时间:2021-07-02 19:36:20 其他开发

Perl 6 性能是否因使用十进制数的有理数而受到影响

我了解 Perl 6 尽可能将小数实现为有理数,以避免大多数其他语言中存在的浮点问题. 是否有人做过基准测试或了解这样做的性能损失? 解决方案 Perl 6 性能是否因使用十进制数的有理数而受到影响 我认为最有用的总体答案是“不,不是真的,但让我详细说明一下". 如果您不想关心准确性或性能 如果您希望 P6 自动保持十进制计算相当准确和快速,那么只需使用 大鼠s ..
发布时间:2021-07-02 19:36:15 其他开发

Perl6 正则表达式匹配数

我想从文本字符串的一部分匹配任何 Num.到目前为止,这个(从 https://docs.perl6.org/language/regexes.html#Best_practices_and_gotchas) 完成工作... 我的令牌符号 { }我的代币十进制 { \d+ }我的代币指数 { 'e' ?}我的正则表达式浮动{??'.'?}我的正则表达式 ..
发布时间:2021-07-02 19:36:12 其他开发

require 的行为(静态 + 动态)[RAKU]

我的问题与 require 在与所需命名空间的静态或动态解析一起使用时的行为有关. 我会尽量表达我对事物的理解: [ 1 ] 使用带有文字的“require" { 需要模块;} 在这种情况下,编译器会检查 MODULE 是否已经被声明为一个符号.如果没有,编译器会声明它,并将它绑定到一个空的占位符包,它刚刚为这个“需要"创建了 {我的 $response = ::('MODUL ..
发布时间:2021-07-02 19:36:08 其他开发

如何禁用 Perl 6 REPL 创建 .precomp

每次我运行 perl6 进入 REPL 模式时,它都会创建一个 .precomp 目录,这也减慢了迅速的.如果 .precomp 目录已经存在,则提示几乎立即出现,否则 perl6 需要几秒钟来创建它. 有没有办法禁用这个功能? 解决方案 检查您是否有 PERL6LIB 环境变量集,以及它是否包含 ..如果我设置了它,我可以准确地产生你遇到的行为.解决方案是从您的 PERL6LIB ..
发布时间:2021-07-02 19:36:05 其他开发

如何覆盖 NQPMatch.Str 函数

... 或者如何改变 $.Str 值从 token sigil { ... } 独立于匹配的文本.是的,我在问如何欺骗上面的语法(即调用)我. 我正在尝试编写一个没有印记的 Raku 俚语. 所以我想要 nogil 令牌,匹配任何 以返回字符串化的 NqpMatch:$.Str 到 '$'. 目前,我的令牌符号看起来像那样 token sigil {|| ..
发布时间:2021-07-02 19:36:02 其他开发

签名为常量时无法解析

作为 这个关于在单个程序中使用不同 API 的问题的后续、Liz Mattijsen 建议使用常量.现在有一个不同的用例:让我们尝试创建一个 multi按 API 版本区分,如下所示: class WithApi:ver:auth:api{}我的常量二 = 我的类 WithApi:ver:auth:api{}multi sub get-api( WithApi $foo where .^api( ..
发布时间:2021-07-02 19:35:59 其他开发

更新 CompUnit::PrecompilationStore 中的程序?

我正在处理由 Rakudo Perl 编译的文档,并且文档可以更新. 我将文档存储在 CompUnit::PrecompilationStore::File 如何将旧版本更换为新版本? 以下程序产生相同的输出,就好像较新的版本没有存储在 CompUnit 中一样.我做错了什么? 使用v6.c;使用 nqp;'cache'.IO.unlink if 'cache'.IO ~~ e;m ..
发布时间:2021-07-02 19:35:56 其他开发

将结构数组传递给 Perl 6 NativeCall 函数

我正在尝试使用 NativeCall 与一些 C 函数进行交互. 我有一个简单的 C 结构体和一个需要它们的数组的函数. struct foo {整数 x;字符 *s;};结构 foo foo_array[3];foo_array[0].x = 12;foo_array[0].s = "foo";foo_array[1].x = 27;foo_array[1].s = "bar";foo_ ..
发布时间:2021-07-02 19:35:50 其他开发

Commaide 在分析文件时被 OOM 杀死

当我尝试编辑我使用 10 个模块(主要是 Cro::HTTP )的文件并且在分析开始之后,逗号总是被 oom 杀死.我可以看到许多 raku 进程正在运行(为了分析?): 日志: janv.09 19:47:42 samuel-虚拟机内核:[4722] 1000 4722 654 29 40960 0 0 逗号.sh一月09 19:47:42 samuel-虚拟机内核:[4771] 100 ..
发布时间:2021-07-02 19:35:47 其他开发

为什么 Perl 6 的 unwrap 方法是 Routine 的方法?

有一个 unwrap 方法,但它似乎是我应该使用的方式这不是它应该使用的方式.似乎它应该是一个独立例程或不同类中的方法.我错过了什么? 它似乎并不关心它的调用者是什么,只要它获取正确的 Routine::WrapHandle 东西作为参数.在这例如,我wrap一个子程序并返回一个WrapHandle: sub add-two-numbers ( $n, $m ) { $n + $m }su ..
发布时间:2021-07-02 19:35:44 其他开发

捕获并抛出自定义异常

应该在“throw"之后严格调用“CATCH"吗? 示例 1: 说'Hello World!';类 E 是异常 { method message() { “只是停下来!"} }抓住 {当 E {.恢复;}}E.new.throw; 错误: 找不到方法“接收器":没有方法缓存,也没有 .^find_method块在/tmp/739536251/main.pl6 line 11 ..
发布时间:2021-07-02 19:35:41 其他开发

使用环境变量构建配置类的更简洁方法?

我有一个类 Configuration 读取环境变量: 类配置{有 $.config_string_a;有 $.config_string_b;有布尔 $.config_flag_c;方法新(){sub assertHasEnv(Str $envVar) {死“环境变量 $envVar 必须存在",除非 %*ENV{$envVar}:exists;}assertHasEnv('CONFIG_ST ..
发布时间:2021-07-02 19:35:37 其他开发

Perl6:用俚语添加印记

我正在尝试添加 «€» 作为 «$» 标量的别名,我认为用俚语来做这件事.但是 perl6.doc 根本没有提到俚语. 我已阅读以下内容: https://perlgeek.de/en/article/mutable-语法 for-perl-6(从 2008 年开始) https://mouq.github.io/slangs.html 并查看了 Slang::Roman 和 ..
发布时间:2021-07-02 19:35:34 其他开发

如何在 Perl6 NativeCall 结构中定义固定长度的字符串?

我有一个第三方 C 库,它定义了一个类似于以下内容的结构: struct myStruct {一个;国际b;字符 str1[32];字符 str2[32];}; 还有一个函数,它接受一个指向这个结构体的指针并填充它.我需要我的 Perl6 本机调用来提供该结构,然后读取结果. 到目前为止,我已经在 Perl6 中定义了结构体: class myStruct is repr('CStru ..
发布时间:2021-07-02 19:35:31 其他开发

raku 可以避免这种格式错误的 UTF-8 错误吗?

当我运行这个 raku 脚本时... my $proc = run( 'tree', '--du', :out);$proc.out.slurp(:close).say; 我在 MacOS 上遇到此错误... 格式错误的 UTF-8 近字节 ef b9 5c ... 而不是像这样 tree 从 zsh 输出的东西,这是我想要的... .├── 00158825_20210222_0844 ..
发布时间:2021-07-02 19:35:26 其他开发

从 Raku HTTP 客户端请求中提取 JSON

我无法理解这个 Raku 代码有什么问题. 我想从网站获取 JSON,并从 JSON 数组中的每个项目中打印出一个字段(在本例中为来自任何 Discourse 论坛的最新主题的标题). 这是我希望工作的代码,但它失败了: 使用 HTTP::UserAgent;使用 JSON::Tiny;我的 $client = HTTP::UserAgent.new;$client.timeout ..
发布时间:2021-07-02 19:35:23 其他开发

Raku 正则表达式:如何在前瞻中使用捕获组

如何在先行断言中使用捕获组? 此代码: 说“ab"~~ m/(a) /; 返回: 「a」0 =>“一种" 但我希望也能捕获 'b'. 有没有办法做到这一点? 我不想将 'b' 留在前瞻之外,因为我不想让 'b' 成为匹配的一部分. 有没有办法捕获“b"但仍将其保留在比赛之外? 注意: 我尝试使用 Raku 的捕获标记,例如: ..
发布时间:2021-07-02 19:35:20 其他开发