问题标签 [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.
raku - 在 Perl 6 中的方法和函数调用中使用冒号
我想知道冒号与 Perl 6 中的方法和函数调用有什么关系。为了记录,我使用的是基于 MoarVM 版本 2015.05 构建的 perl6 版本 2015.05-55-gd84bbbc。
我刚刚在Perl6 规范测试(S32-io)中看到了以下内容(我添加了评论):
据我所知,这相当于:
这两个似乎都需要多个参数并且可以很好地展平列表:
有这两种不同的语法一定是有原因的。有任何理由使用一种或另一种语法吗?
我还注意到,当用作方法时,我们必须使用:
或与 print 一起使用:()
在函数中使用冒号时还有一些有趣的行为print
。在这种情况下,:
和()
不等价:
然后我尝试在脚本文件中使用 print 。这适用于打印到标准输出:
但是,这不会打印到标准输出:
但方法版本工作正常:
我觉得我几乎明白这一点,但我无法用语言表达。有人可以解释这些使用打印的品种吗?另外,这些行为是否会因为 Great List Refactor 而改变?
perl - Perl 6 和打印列
Perl 6 是否有与Unicode::GCString的columns
方法等效的东西?
Perl 5 示例:
raku - 混合打字如何工作?
Wikipedia 说“Perl 6 提供了一个混合类型系统,程序员可以选择使用静态类型、使用动态类型或将两者混合使用。” 混合打字如何工作?在 Perl 中使用静态类型是否仅仅意味着我声明了一个类型,并且必须显式地将字符串转换为数字,反之亦然,以换取安全性和运行时速度?我注意到有关此功能的信息似乎很少。
raku - 在 Perl 6 中关闭变量声明
有没有办法让 Perl 6 不需要my
声明变量?我试过这个:
但这没有用
编辑:这是 Rakudo 中的一个错误。请参阅 Perl 6 规范:http ://design.perl6.org/S01.html 官方的 Rakudo 包似乎很快就过时了。建议从源码编译:http ://rakudo.org/how-to-get-rakudo/
raku - 如何在 Perl6 中编写自定义访问器方法?
如何在 Perl6 中编写自定义访问器方法?
如果我有这门课:
我可以做这个:
假设我想在我的 Perl6 类中的 setter 中添加一个小检查而不放弃$gandalf.mana = 150;
符号(换句话说,我不想写这个:)$gandalf.setMana(150);
。如果程序试图设置负法力,它应该死掉。我该怎么做呢?Perl6 文档只提到可以编写自定义访问器,但没有说明如何编写。
sorting - 对哈希 kv 对进行排序
%hash.sort({.key})>>.kv
相当于上面的排序吗?
>>
为什么这种排序在没有超提示的情况下不起作用?
go - Perl6 中是否有与 Go 协程等价的程序?
我知道
在我的系统上创建了大约十几个moar
线程并将它们用作 Promise 池,但我想像在 Go 中一样一次启动它们。那可能吗?
perl - Perl6:原始模式下的 getc
我正在使用 Perl 6 模块Term::termios。
当我运行此脚本并按下键up-arrow, down-arrow,right-arrow时,left-arrow这q是输出:
但我本来预计:
如何修改脚本以获得所需的输出?
raku - 如何在 perl6 中过滤自己的输出?
我想过滤自己的输出而不为此编写单独的程序。有可以调整的 perl5 解决方案。有没有像新语言支持的更好的东西?