raku相关内容

Perl6 hyper » 操作符不像地图那样工作

据我所知,超级运算符 » 是 map() 的快捷方式.为什么以下返回两个不同的结果并且在第二个示例中 .sum 似乎没有应用? say ([1,2], [2, 2], [3, 3]).map({.sum});# (3 4 6)说 ([1,2], [2, 2], [3, 3])».sum;# ([1 2] [2 2] [3 3]) 解决方案 Hyperops 递归下降到子列表中.他们也是自动线 ..
发布时间:2021-07-02 19:33:19 其他开发

Perl 6:检查元素是否在列表中的最佳方法是什么?

假设我有一个大数组 @stuff 和一个 $thing,我想知道 $thing 是否在@stuff.在 Perl 6 中做到这一点的最佳方法是什么?“最好"的意思是:惯用的、可读的、高效的;不一定按这个顺序. 实际上有两种不同的情况.一种是你必须对不同的 $thing 进行大量检查,另一种是你只做一次或几次. 我们先来看第一种情况.我想我知道(或一个)正确答案. my $set-of ..
发布时间:2021-07-02 19:33:16 其他开发

Perl 6中的WhateverStar`&&`WhateverStar

* >20 &&* %% 5 在 grep 中使用似乎是错误的,它是否等于带有 2 个参数的任何代码 lambda?正如这在 SO >我的@a = 1,12,15,20,25,30,35,37;>@a.grep: * >20 &&* %% 5 # 结果看起来很奇怪,意料之中的 (25 30 35)(15 20 25 30 35)>@a.grep: * %% 5 &&* >20(25 30 35 ..
发布时间:2021-07-02 19:33:13 其他开发

Perl 6 是否有一个无限的 Int?

我有一个任务,我想找到最接近目标的字符串(因此,编辑距离)而不是同时生成它们.我想我会在初始化与 Inf 最近的编辑距离时使用高水位线技术(我猜是低),以便任何编辑距离都更近: 使用 Text::Levenshtein;我的@strings = ;对于@strings {put "$_ 目前最接近:{longest('Camelia', $_) }";}子最长 ..
发布时间:2021-07-02 19:33:07 其他开发

为什么//和 m//不是完全同义的?

从下面的示例中,我看到 // 和 m// 并不完全是同义词,这与我的预期相反.我认为使用 m// 而不是 // 的唯一原因是它允许使用不同的分隔符(例如 m{ }).为什么它们不同,为什么我要使用一个而不是另一个? 我正在目录中搜索 CSV 文件.起初,我搜索以 csv 结尾的文件,因此(显示的所有代码都从 Perl 6 REPL 中看到): >我的@csv_files = dir( te ..
发布时间:2021-07-02 19:33:04 其他开发

如何使用 perl 6 创建独立的可执行文件?

旧的 Perl 6 常见问题 说:“Rakudo,一个基于 Parrot 的 Perl 6 编译器,允许编译为字节码,并且存在一个小包装器,可以将字节码文件打包并复制到单个可执行文件中." 因此,可以创建一个独立的可执行文件,但我找不到任何文档来解释如何进行此操作,或者是否仍然可能.所以,我转向你.将 Perl 6 代码转换为可在未安装 Perl 6 的系统上运行的独立可执行文件需要哪些适当 ..
发布时间:2021-07-02 19:33:01 其他开发

我可以在 Perl 6 中使用独立的签名作为签名吗?

我正在玩一个命令行程序的 Perl 6 实现,它需要几个开关.MAIN 的签名相当复杂,而且有点乱.我想知道是否有一种方法可以在其他地方定义签名并告诉子程序使用什么: # 可能是大而凌乱的签名我的 $sig;BEGIN { $sig = :( Int $n, Int $m ) };多主 ( $sig ) {把“得到 $n 和 $m";} MAIN 即使在 MAIN 编译之前设置了签名,也看不到 ..
发布时间:2021-07-02 19:32:58 其他开发

如何将 perl6 文件编译为 exe

我正在玩基于 Windows 上的 MoarVM 的 perl6 版本.我创建了一些 perl6 文件并想将其编译为 exe.我尝试了以下方法: perl6 --target=MAST r.pl>r 现在我想将 r 编译为可执行文件 我发现这个链接谈论如何使用 Parrot 但我使用的是 MoarVM 目标:http://perlgeek.de/blog-en/perl-6/my-fir ..
发布时间:2021-07-02 19:32:52 其他开发

NativeCall 加载我不调用的库符号

我有两个库,我想调用第一个库中的例程,然后它们调用第二个库中的例程,但由于这些符号未定义而崩溃.即使我不想调用它们,是否也可以从库 XX 中说“加载这些符号"? testlib1.c: #include 无效子2();无效子1(){printf("调用 sub1\n");子2();} testlib2.c: #include 无效子2(){printf("调用 sub2\n");} ..
发布时间:2021-07-02 19:32:48 其他开发

如果我在 Perl 6 中重新分配了 OUT,如何将其改回 stdout?

一个非常简单的问题,但我无法轻易找到答案. 我希望块中的所有 say 都转到一个文件.但是我希望我的输出返回到 STDOUT.如何做到这一点? my $fh_foo = open "foo.txt", :w;$*OUT = $fh_foo;说“你好,foo!打印到 foo.txt";$*OUT = ????;说“这应该打印在屏幕上"; 解决方案 简单的答案是只在词法上改变它 my $ ..
发布时间:2021-07-02 19:32:45 其他开发

Perl6:检查 STDIN 是否有数据

在我的 Perl 6 脚本中,我想对标准输入进行(最好是非阻塞)检查以查看数据是否可用.如果是这样,那么我就想处理它,否则我想做其他事情. 示例(consumer.p6): #!/usr/bin/perl6使用 v6.b;使用致命的;sub MAIN() 返回 UInt:D {而 !$*IN.eof {if some_fancy_check_for_STDIN() { #TODO: 这需要 ..
发布时间:2021-07-02 19:32:43 其他开发

如何声明一个接受类型化数组参数的函数

假设我想声明一个函数,其参数是一个字符串数组: sub process-string-array(Str[] stringArray) # 无效{...} 我该怎么做? 解决方案 这取决于您要使用的印记: sub process-string-array(Str @array) { ... } # @-sigilsub process-string-array(Array[Str] ..
发布时间:2021-07-02 19:32:40 其他开发

Perl 6 中的递归正则表达式?

我一直在试图弄清楚如何在 Perl 6 中执行递归正则表达式.例如,一个平衡括号匹配器,它将匹配 ((())())(((((())()). PCRE 示例:/\((?R)?\)/ Onigmo 示例:(?\(\g*\)) 我认为这样做可以: 我的正则表达式括号{'(' ~ ')' *} 或者更简单的 我的正则表达式括号{'(' ..
发布时间:2021-07-02 19:32:37 其他开发

Perl 6 标识符中允许什么?

概要 2 说: 标识符由一个字母字符后跟任意序列的字母数字字符组成.字母和数字的定义包括适当的 Unicode 字符.下划线始终被视为字母.标识符还可以包含独立的撇号或连字符,前提是下一个字符是字母. Perl 6 文档中的 语法 说: 标识符是出现在多个地方的语法构建块.标识符是原始名称,必须以字母字符(或下划线)开头,后跟零个或多个单词字符(字母、下划线或数字).您还可以在中间 ..
发布时间:2021-07-02 19:32:34 其他开发

如何在 Perl 6 中向现有类添加方法?

Int 类有一个方法 is_prime,所以我想通了,只是为了咯咯笑,我想为 Int 添加一些其他方法,用于我的一些从事数论工作的爱好项目. 我以为我可以这样做: class Int {方法 is-even (Int:D $number ) 返回 Bool:D {如果 $number % 2 则返回 False;返回真;}}说 137.is-even; 但这不起作用: ===对不起!= ..
发布时间:2021-07-02 19:32:31 其他开发

Perl6 是否支持依赖类型?

我最近查看了维基百科页面,了解相关类型,我想知道;Perl 6 是否真的引入了依赖类型?我似乎找不到可靠的消息来源. 这对某些人来说可能很明显,但对我来说肯定不是很明显. 解决方案 反对 Ven,在 Perl 6 对 SO 问题“Is there a language with constrainable types?"的回答之后的评论中,写道 “perl6 没有依赖类型"后来在#p ..
发布时间:2021-07-02 19:32:28 其他开发

如何在 Perl 6 中为我的自定义类添加下标?

我是 Perl 6 的新手.我的 Atom 编辑器中有以下代码,但我仍然不明白它是如何工作的.我复制了以下代码,正如 docs.raku.org 所说,但似乎它不起作用.所以我把代码改成这样: 使用v6;类 HTTPHeader { ... }类 HTTPHeader 做关联 {有 %!fields 句柄 ..
发布时间:2021-07-02 19:32:25 其他开发

如何在 Perl 6 的正则表达式中放置一个子?

这就是我想要做的. >我的子 nplus1($n) {$n +1}>我的正则表达式 nnplus1 { ^ (\d+) &nplus1($0) $ }>《123》~~&nnplus1P6opaque:匹配类型中没有这样的属性 '$!pos'... 解决方案 结构在正则表达式中运行 Perl 6 代码,并将结果作为正则表达式求值: 我的子 nplus1($n) {$n + ..
发布时间:2021-07-02 19:32:22 其他开发

在 Perl 6 中使用带有对象键的哈希

我正在尝试制作一个 Hash 使用非字符串键,在我的例子中是数组或列表. >我的 %sum := :{(1, 3, 5) =>9, (2, 4, 6) =>12}{(1 3 5) =>9, (2 4 6) =>12} 现在,我不明白以下内容. 如何检索现有元素? >%sum{(1, 3, 5)}((任何) (任何) (任何))>%sum{1, 3, 5}((任何) (任何) (任何)) ..
发布时间:2021-07-02 19:32:19 其他开发