问题标签 [rakudo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
152 浏览

abstract-syntax-tree - 从另一个程序获取 Perl 6 文件的 QAST

这与访问POD 的这个问题有关,但它比这更进一步。您可以使用以下命令轻松访问 Perl 6 程序的抽象语法树

这将打印整个 Q 抽象语法树。目前还不太清楚如何从您自己的程序中制作这个,或者我还没有找到如何做到这一点。实际上,CoreHackers::Q模块将其作为外部脚本运行。但是能够从您自己的程序中访问它,例如

会很好。我很确定这应该是可能的,在 NQP 级别并且可能以 Rakudo 依赖的方式。有人知道它很热吗?

0 投票
1 回答
156 浏览

raku - 重新编译 nqp 后`缺少或错误的依赖版本`

我正在尝试学习如何调试rakudonqp。所以这是我的第一次尝试:

最后一个命令现在给出以下异常:

所以我想,也许我还需要make在 rakudo 上运行:

但这里make失败了:

0 投票
1 回答
284 浏览

io - Perl6 (Rakudo) - How to handle special characters from file?

How can I read special characters from a external file ? Here a simple .txt file in French, which content is the first paragraph of https://fr.lipsum.com/ : as you can see on my screenshot, the file encoding is UTF-8 but the accents are not displayed correctly.

I tried various encodings within notepad++ and in my perl6 script, like these :

With Python or Ruby scripts I don't encounter the problem. I can't found any precise example about that matter, probably because perl 6 is still quite recent (??). Thank you.

My script as it is displayed in the screenshot :

Perl6 script, input file in notepad++, exec in cmd.exe


Final edit : the solution is to enable an option, available in beta state with Windows 10 1803, to make the OS handle unicode characters properly : see answers and comments below ...

0 投票
1 回答
417 浏览

raku - 权衡“挑选”程序的“随机性”?

我正在使用 Cro 框架在 Perl 6 中创建一个 API 服务器!此 API 的目的是提供有关 Pokemon 的数据,并提供端点以根据输入数据生成 Pokemon。生成的因素之一是gender,在我的 PostgreSQL 数据库中,每个参考 Pokemon 都有一个gender-ratio包含 JSON 值的列,如下所示:

你会注意到我有两个键叫做defaultand alolan,这是因为口袋妖怪可以有多种形式,但它与这个问题几乎无关——相关的是实际的性别比例值。这是我的生成方法目前的样子:

默认情况下pick是随机的,在本例中为 50/50。但是,我希望能够根据从数据库返回的比率结果来衡量每个选项的随机性。我的一个想法是GENDER使用数据库查询的结果为枚举播种,因此对于特定示例,它看起来更像这样:

pick除非其他人对根据我的SELECT陈述结果动态改变的行为有更好的想法?

0 投票
2 回答
125 浏览

raku - 将 %hash 中的所有值相乘并返回具有相同结构的 %hash

我有一些 JSON 存储在数据库列中,如下所示:

作为我正在研究的“生成”算法的一部分,我想将此值放入 %hash 中,将其乘以(0.9..1.1).rand(允许高度的“自然 10% 变化”),然后创建一个新的 %散列在相同的结构中。我的select-height方法如下所示:

这实际上要求我get-height获得该物种的“平均”高度(公制和英制)。

但是,我在执行时收到以下错误(我假设是因为我试图将散列作为一个整体而不是散列的单个元素):

是否有一种更简单(且有效)的方法可以在不为每个元素复制我的代码的情况下执行此操作?:)

0 投票
1 回答
117 浏览

testing - “无法打开 perl 脚本“t/spec/fudgeall”:找不到文件或目录”

我正在尝试按照中的说明README.md为 Rakudo 运行一些测试,即使用 perl Configure.pl 和 make。但是,当我跑步时

之后,它写道:

该目录甚至不存在。任何想法?

0 投票
4 回答
258 浏览

raku - 并发,一次对多个供应做出反应

请考虑下面的代码。为什么这个输出是“BABAA”而不是“AABAA”/“AABAAAB”?这两个供应不应该并行运行,并且当其中任何一个发生事件时立即触发?

0 投票
1 回答
299 浏览

metaprogramming - 你如何从它们所属的类型之外访问私有方法或属性?

在一些实际上可以接受的极少数情况下,例如在单元测试中,您可能想要获取或设置私有属性的值,或者调用不应该的类型的私有方法。真的不可能吗?如果没有,你怎么能做到?

0 投票
3 回答
6383 浏览

azure-devops - 在 Windows 中的 azure 管道中设置 PATH

我正在使用 Azure Pipelines在 Windows 中为 Raku(以前称为 Perl 6)构建Rakudo二进制文件。

这是我的azure-pipelines.yml文件:

管道脚本在文件夹内构建perl6二进制$(Build.SourcesDirectory)/rakudo-win/bin文件。perl6.exe里面确实有$(Build.SourcesDirectory)/rakudo-win/bin。为了使其可用,我通过在 bash 脚本中添加路径来设置路径。但是当我尝试运行 commandperl6 -v时,构建在这一步失败。

我在 SO hereherehere中搜索了类似的问题。

我仍然无法解决我的问题。任何帮助如何使perl6二进制文件可用PATH

已编辑

接下来我做的是创建另一个.yml脚本,如下所示:

并尝试在 powershell 和 cmdline 中更改 PATH两次。但它仍然会引发以下错误:

有什么帮助吗?

0 投票
1 回答
93 浏览

raku - 通过 NativeCall 在 Raku 中使用 void 结构

我正在尝试链接libzip到 Raku,它使用 voidstruct或没有主体的结构,如下所示:

我以同样的方式在我的 Raku 程序中声明它:

这失败了:

我发现该错误的唯一参考是在 MyHTML中的这个未解决的问题中。这可能会使其回归,但我真的不确定。任何的想法?