问题标签 [raku]

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 投票
2 回答
284 浏览

raku - 在 rakudo perl6 中使用语法时遇到问题

最简单的语法用法给我编译错误。

像调用一样src/rakudo/perl6 simple.p6,它失败了

我尝试了许多具有相似结果的已知工作示例,因此我怀疑我的 perl6 设置不正确。

如果您在 perl6 中使用语法,请告诉我您的设置。提前致谢。

0 投票
5 回答
4855 浏览

perl - 是否值得学习 Raku(以前称为 Perl 6)?

我有机会使用 Rakudo 编译器参加为期两天的 Perl 6 课程。

我不想发动一场宗教战争,但这值得我花时间吗?是否有理由相信 Perl 6 将在未来两年内在现实世界中实用化?目前有没有人有效地使用它?

更新

我上了这门课,学到了很多东西。然而,在第一天之后,我的大脑有点不知所措。Perl 6 中有很多很酷的想法,很高兴看到哪些内容可以过滤到其他语言。

总的来说,这次体验是对我时间的积极利用,尽管我在第二天无法吸收那么多。如果是三天的课程,那将是徒劳的,因为您可以在短时间内处理多少内容是有限的。

0 投票
4 回答
4380 浏览

raku - Perl 6 的当前状态是什么?

Perl 6 的当前状态是什么,是否可以投入生产?我们现在站在哪里?有很多程序员对 Perl 6 的当前进展感到好奇。

在 reddithttp://perlmonks.org/?node_id=835419上还有另外两个关于这个的话题。

0 投票
3 回答
522 浏览

raku - Rakudo Star (perl6) 的发布日期是什么时候?

如果没有特定的发布日期(我怀疑它不是),您能否提供资源来跟踪它与允许发布的所需功能集的接近程度。

我不一定要一个百分比表,或者 X of Y 功能完成列表。在跟踪 Rakudo 错误的 perl RT 实例的任何部分中标记的错误列表将符合我的标准,如果列表是动态的则更是如此(即,它是以某种方式标记的错误列表,而不是票号的静态列表) . 如果在考虑准备好进行最终测试之前,只剩下几个计划的功能需要完成/测试,那么列出这些也足够了。

0 投票
3 回答
286 浏览

raku - 如何知道我正在运行的 perl6/raku 版本?

尝试-v切换,我得到了鹦鹉 svn 修订版:

但是我怎么知道rakudo 版本,avx.xx还是{some-git-hash}

谢谢,

0 投票
5 回答
3144 浏览

performance - 随着 Perl 6 实现的成熟,我们可以期待哪些性能提升?

每次我下载 Rakudo Perl 6 的新副本时,我都会运行以下表达式来了解其当前性能:

而且速度一直在增加,但每次计算都有明显的延迟(几秒钟)。作为比较,Perl 5(或其他解释语言)中的类似内容几乎立即返回:

或在 Ruby 中(也几乎是即时的):

将表达式重写为 Perl6loop最终的速度大约是减小范围的两倍,但对于简单的计算来说仍然是一个非常明显的延迟(超过一秒):

所以我的问题是,Perl6 实现的哪些方面导致了这些性能问题?这是否应该随着时间的推移而改善,或者这种开销是否是 Perl6 正在使用的“一切都是对象”模型的不幸副作用?

最后,loop构造比[+]归约运算符更快呢?我认为循环会导致比减少更多的总操作数。

编辑:

如果可以的话,我会同时接受mortiz' 和hobbs' 的答案。一切都被作为方法调用处理更直接地回答了为什么[+]慢,所以人们明白了。

0 投票
2 回答
312 浏览

raku - 当我尝试使用 Rakudo 运行脚本时,为什么会出现“除以零”错误?

我刚刚构建了 Rakudo 和 Parrot,以便我可以玩它并开始学习 Perl 6。我下载了 Perl 6 书,并愉快地输入了第一个演示程序(网球锦标赛示例)。

当我尝试运行程序时,出现错误:

perl6我在构建目录中有我的二进制文件。我在 rakudo 构建目录下添加了一个脚本目录:

如果我尝试从我的脚本目录运行一个简单的 hello world 脚本,我会得到同样的错误:

但是,如果我从它的rakudo目录运行它。

听起来我需要设置一些环境变量,但我不知道它们是什么以及赋予它们什么值。

有什么想法吗?

更新:

在这一点上我宁愿不安装 rakudo,我宁愿只从构建目录运行东西。这将允许我在尝试不同的 Perl6 构建时尽量减少对系统的更改(Rakudo * 很快就会推出)。

自述文件鼓励我认为这是可能的:

这将在当前(rakudo)目录中创建一个“perl6”或“perl6.exe”可执行文件。然后可以使用以下命令从构建目录运行程序:

重读后,我发现有必要在构建目录之外运行脚本之前安装 rakudo:

一旦构建完成,Rakudo 的make install目标会将 Rakudo 及其库安装到用于创建它的 Parrot 安装中。在执行此步骤之前,make上面创建的“perl6”可执行文件只能从 Rakudo 的构建目录的根目录中可靠地运行。执行后make install,可以从任何目录运行已安装的可执行文件(只要用于创建它的 Parrot 安装保持不变)。

所以看起来我需要安装 rakudo 才能玩 Perl 6。

下一个问题是,rakudo 安装在哪里?README 说明了用于构建的 Parrot 安装。

我在构建中使用了该--gen-parrot选项,看起来它安装到rakudo/parrot-install. 所以 rakudo 将安装到我的rakudo\parrot-install?

阅读 Makefile,支持这个结论。我跑了make install,它确实安装到parrot_install.

对于 Perl6 的新手来说,构建/安装过程的这一部分是不清楚的。我会看看我是否可以提供一个文档补丁来澄清事情。

在我的头顶上:

  1. make install在运行构建之外的脚本之前强调运行。此要求目前隐藏在段落的中间,并且很容易被浏览文档的人(我)忽略。

  2. 明确说明 with--gen-parrot会将 perl6 安装到parrot_install目录中。

0 投票
4 回答
1823 浏览

cpan - 是否有适用于 Perl 6 的类似 CPAN/CPAN6 的项目?

我最近在玩 Rakudo Perl 6,正在寻找一个类似于 CPAN 的项目。我找到了 CPAN 6,但我认为还没有 Perl 6 代码。

因此,我正在寻找一些替代方案,它不一定旨在成为长期解决方案,但能够维护模块并用 Perl 6 编写。

随着 Rakudo 的发展,很快就有可能创建更复杂的 Perl 6 代码。

0 投票
1 回答
208 浏览

perl - 如何在 perl6 中从数组或哈希创建方法

我正在尝试向对象动态添加新方法。

以下代码可以正常工作:

这会按预期打印“pong”,而以下内容将无法按预期工作:

将打印 111 或 333。

谁能解释我缺少什么或为什么结果与我的预期不同?

0 投票
1 回答
170 浏览

sdl - 如何在 rakudo 中加载 parrot SDL pir 模块?

我不知道如何在 rakudo 中加载 de parrot SDL 模块。我找到了一个使用 pir 代码的示例。

但是...有什么方法可以使用 perl 代码将 pir SDL 模块加载到 rakudo 中?