问题标签 [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.
abstract-syntax-tree - 从另一个程序获取 Perl 6 文件的 QAST
这与访问POD 的这个问题有关,但它比这更进一步。您可以使用以下命令轻松访问 Perl 6 程序的抽象语法树:
这将打印整个 Q 抽象语法树。目前还不太清楚如何从您自己的程序中制作这个,或者我还没有找到如何做到这一点。实际上,该CoreHackers::Q
模块将其作为外部脚本运行。但是能够从您自己的程序中访问它,例如
会很好。我很确定这应该是可能的,在 NQP 级别并且可能以 Rakudo 依赖的方式。有人知道它很热吗?
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 :
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 ...
raku - 权衡“挑选”程序的“随机性”?
我正在使用 Cro 框架在 Perl 6 中创建一个 API 服务器!此 API 的目的是提供有关 Pokemon 的数据,并提供端点以根据输入数据生成 Pokemon。生成的因素之一是gender
,在我的 PostgreSQL 数据库中,每个参考 Pokemon 都有一个gender-ratio
包含 JSON 值的列,如下所示:
你会注意到我有两个键叫做default
and alolan
,这是因为口袋妖怪可以有多种形式,但它与这个问题几乎无关——相关的是实际的性别比例值。这是我的生成方法目前的样子:
默认情况下pick
是随机的,在本例中为 50/50。但是,我希望能够根据从数据库返回的比率结果来衡量每个选项的随机性。我的一个想法是GENDER
使用数据库查询的结果为枚举播种,因此对于特定示例,它看起来更像这样:
pick
除非其他人对根据我的SELECT
陈述结果动态改变的行为有更好的想法?
raku - 将 %hash 中的所有值相乘并返回具有相同结构的 %hash
我有一些 JSON 存储在数据库列中,如下所示:
作为我正在研究的“生成”算法的一部分,我想将此值放入 %hash 中,将其乘以(0.9..1.1).rand
(允许高度的“自然 10% 变化”),然后创建一个新的 %散列在相同的结构中。我的select-height
方法如下所示:
这实际上要求我get-height
获得该物种的“平均”高度(公制和英制)。
但是,我在执行时收到以下错误(我假设是因为我试图将散列作为一个整体而不是散列的单个元素):
是否有一种更简单(且有效)的方法可以在不为每个元素复制我的代码的情况下执行此操作?:)
raku - 并发,一次对多个供应做出反应
请考虑下面的代码。为什么这个输出是“BABAA”而不是“AABAA”/“AABAAAB”?这两个供应不应该并行运行,并且当其中任何一个发生事件时立即触发?
metaprogramming - 你如何从它们所属的类型之外访问私有方法或属性?
在一些实际上可以接受的极少数情况下,例如在单元测试中,您可能想要获取或设置私有属性的值,或者调用不应该的类型的私有方法。真的不可能吗?如果没有,你怎么能做到?
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 here、here、here中搜索了类似的问题。
我仍然无法解决我的问题。任何帮助如何使perl6
二进制文件可用PATH
?
已编辑
接下来我做的是创建另一个.yml
脚本,如下所示:
并尝试在 powershell 和 cmdline 中更改 PATH两次。但它仍然会引发以下错误:
有什么帮助吗?
raku - 通过 NativeCall 在 Raku 中使用 void 结构
我正在尝试链接libzip
到 Raku,它使用 voidstruct
或没有主体的结构,如下所示:
我以同样的方式在我的 Raku 程序中声明它:
这失败了:
我发现该错误的唯一参考是在 MyHTML中的这个未解决的问题中。这可能会使其回归,但我真的不确定。任何的想法?