raku相关内容

使用 NativeCall 将 C 库函数合并到 Perl6 中

我试图在 Perl6 中使用 C 的 math.h 中的 lgamma. 如何将其合并到 Perl6 中? 我试过了 使用 NativeCall;sub lgamma(num64 --> num64) 是原生的(Str) {};说 lgamma(3e0);我的 $x = 3.14;说 lgamma($x); 这适用于第一个数字(一个 Str),但对第二个数字 $x 失败,给出错误: ..
发布时间:2021-07-02 19:37:19 其他开发

Perl 6: trans(%h) vs trans(%h.keys => %h.values)

关于 hash 作为 trans 参数的另一个问题.在下面的代码中,简单地取 hash 给出了不正确的结果,但是用 keys 和 values 替换它使它正确.怎么了? 我的@alph1 = ;我的@alph2 = ;我的 %h;%h{ @alph1 } = @alph2;我的 $str = 'a+bc de+f';我的 ..
发布时间:2021-07-02 19:37:16 其他开发

在 Perl 6 中使用字符串值从数组中创建连接

这就是我想要做的.应该很简单,但我不知道如何正确执行. >我的@search_keys = [bb cc dd]>我的 $search_junc = @search_keys.join('|')bb|cc|dd>“bb" eq $search_junc错误的 解决方案 my @search_keys = ;说 "bb" eq any(@search_k ..
发布时间:2021-07-02 19:37:13 其他开发

在 Ubuntu 15.10 上安装 Perl6 和 Panda.bootstrap.pl 的问题

我正在尝试在 Ubuntu 15.10 上安装 Panda.首先我试过: git clone --recursive git://github.com/tadzik/panda.gitcd熊猫perl6 引导程序.pl 最后一条命令给出错误信息: ===SORRY!=== 编译 bootstrap.pl 时出错使困惑在 bootstrap.pl:3------>使用 v6.⏏c;期待以下任何 ..
发布时间:2021-07-02 19:37:10 其他开发

“未设置SDK"在逗号 IDE 中

我正在尝试使用 Comma IDE 进行调试,但遇到了这个问题: 9:20 运行“Primera"时出错:未设置 SDK Primera 是我创建的配置(主要是默认值).我已经查看了菜单,但我还没有找到可以设置 SDK 的位置(或者,就此而言,SDK 是什么) 解决方案 当使用逗号作为插件时: 文件 --> 项目结构 --> 平台设置 --> SDKs 添加(“+"号) ..
发布时间:2021-07-02 19:37:07 其他开发

在 Perl 6 中使用正则表达式和 .contains 进行过滤

我经常需要过滤包含一些子字符串(例如一个字符)的字符串 array 的元素.由于它可以通过匹配 regex 或 .contains 方法来完成,我决定做一个小测试以确保 .contains 更快(因此更合适). my @array = "aa" .. "cc";我的常量 $substr = 'a';我的 $time1 = 现在;我的@a_array = @array.grep: *.contai ..
发布时间:2021-07-02 19:37:05 其他开发

当原始变量具有默认强制时,有没有办法访问混合组件?

例如,在这种情况下: my @list = (2,) 但“bar";把@list.Str «2␤» 似乎没有办法访问“栏"成分.我错过了什么吗?例如,使用 Set 也会发生同样的情况 my @list = (2,3) 但 Set(4,5);把@list.Set;# 输出:«3 2␤» 解决方案 赋值是一个复制操作,所以: my @a = something; 在@a 中创建一个Ar ..
发布时间:2021-07-02 19:37:02 其他开发

Perl 6 分别捕获重复的匹配组?

我相信 Perl 6 提供了单独捕获重复组的能力,而不是早期的风格,您只能捕获最后一组或整个匹配的组字符串.有人可以举一个很好的例子来说明如何使用 Perl 6 的这个很棒的特性吗?例如 我需要为这个正则表达式捕获所有匹配的组 ((?:(?:(?:(?:")(?:[^"]*?)")|(?:(? ..
发布时间:2021-07-02 19:36:59 其他开发

Perl 6 工作文件夹中的 .precomp...repo-id 子文件夹

我通常会在工作目录中找到隐藏的子文件夹,据我所知,这些子文件夹是由 Perl 6 编译器生成的,例如: .precomp/0717742595706FA8D59800F9F9F9F7074236546DE7.1505852292.23535/0B/0BDF8C54D33921FEA066491D8D13C191D8D13C14po6 所以,我有两个问题: 正常吗? 它对编译器来说是 ..
发布时间:2021-07-02 19:36:56 其他开发

使用 NativeCall 将 CStruct 中的内联 CArray 传递给共享库

这是“如何在 Perl 6 中声明固定大小的本机数组?". 在那个问题中讨论了如何将固定大小的数组合并到 CStruct 中.在 this answer 中,建议使用 HAS 在 CStruct 中内联 CArray.当我测试这个想法时,我在问题下方的评论部分遇到了一些无法解决的奇怪行为,因此我决定将其写为一个新问题.这是我的 C 测试库代码: slib.c: #include 结构 ..
发布时间:2021-07-02 19:36:53 其他开发

有没有一种直接的方法来检查某些东西是否是 mixin?

Raku mixins 具有两种(或更多)性质,在相同的容器或值以及角色.然而,据我所知,并没有一种直接的方法来检查“混合性".在不是由您创建的变量中. 这可能是个伎俩 my $foo = 3 but Stringy;说 $foo.^name ~~/\+/;# OUTPUT: «「+」␤» 但是我还缺少其他可以直接查找的属性吗? 解决方案 TL;DR 我不可靠的解决方案[1]更简 ..
发布时间:2021-07-02 19:36:50 其他开发

一个 perl6 模块可以有条件地“使用"另一个 perl6 模块吗?

是否有一种合理的方法可以让一个 perl6 模块检查另一个 perl6 模块是否存在并在且仅当它安装时“使用"它? 这样的东西... 模块多边形;如果$可用{使用测量;#仅当安装了Measure}类矩形是出口{有 $.width;有 $.height;方法区{$!width * $!height;#provides 操作符重载 Measure * Measure}}#=========== ..
发布时间:2021-07-02 19:36:47 其他开发

将指针传递给 Perl 6 NativeCall 中的指针

我正在尝试使用 NativeCall 与一些 C 函数进行交互. 对于一种情况,我需要传入由函数,所以它需要一个指向指针的指针,'void **'. 我是这样试的: class Foo{有指针 $.first;有指针 $.last;sub somefunc(Pointer is rw, Pointer is rw, Str) 是原生的 { * }方法 myfunc(Str $arg) ..
发布时间:2021-07-02 19:36:41 其他开发

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

我刚刚构建了 Rakudo 和 Parrot,这样我就可以玩它并开始学习 Perl 6.我下载了 Perl 6 书并愉快地输入了第一个演示程序(网球锦标赛示例). 当我尝试运行程序时,出现错误: 除以零当前指令:'' pc -1((未知文件):-1) 我在构建目录中有我的 perl6 二进制文件.我在rakudo build目录下加了一个scripts目录: rakudo|- per ..
发布时间:2021-07-02 19:36:38 其他开发

散列作曲家的无用使用,或无法修改不可变的散列?

此代码: 常量 %what = { 不 =>'改变' };%what = { 将 =>“改变" } 应该说一些类似“无法修改不可变哈希"的内容.但是,它说: 潜在困难:在散列赋值的右侧没有使用散列作曲家;你的意思是 := 吗? 位置有几乎相同的问题,但错误是不同的.在这种情况下,它是关于不能修改一个不可变的,而是一个 Str: constant @what = ;@what = ..
发布时间:2021-07-02 19:36:35 其他开发

没有这样的方法<name>用于 类型的调用者

我创建了一个包含用于函数重载的 multi 定义的类,但是当我尝试调用该类和重载方法时,它会引发错误.可以运行以产生此错误的工作示例如下所示: class 测试{多测试(@data){返回测试(@data,@data.elems);}多测试(@data,$length){返回0;}}我的@t = 't1', 't2', 't3';说 Test.test(@t); 错误: 对于“Test"类型 ..
发布时间:2021-07-02 19:36:32 其他开发

一起定义具有多个 API 版本的类

这显然不可能... 角色版本化{方法版本(){返回 self.^api;}}class WithApi:ver:auth:api版本化{}class WithApi:ver:auth:api版本化{}说 WithApi:api.new.version;说 WithApi:api.new.version; 这与 ==SORRY!=== 编译/home/jmerelo/progs/perl6/m ..
发布时间:2021-07-02 19:36:29 其他开发

Raku rebless 和多个类

(这是对以下内容的跟进:Raku rebless 不再适用于继承类) 我试图想出一个更复杂的用例,但我无法让代码工作. 这个想法是一个 Person 类,具有用于 Child 和 Adult 的 mixin 子类.我们有一个 Child 对象,当年龄超过 18 岁时将类型更改为 Adult. 这个显然失败了,因为 Adult 是 Parent 上的 mixin,而不是 Child ..
发布时间:2021-07-02 19:36:26 其他开发

raku REPL 在 WINdows 8 下的“cygwin"上似乎没有响应

我在 Windows 8 下有 cygwin 并且我已经安装并运行了 raku,我理解它只是 Perl6.我想打印一些字符串和数字,但 say 并没有完成这项工作(请参阅下面的黑色片段)它只是与此处描述的不同: hynek0@hynek/cygdrive/c/Users/hynek0/Desktop/FU$ raku --version这是基于 MoarVM 版本 2020.05 构建的 R ..
发布时间:2021-07-02 19:36:23 其他开发