operator-overloading - Raku 运算符重载
问题描述
使用以下代码:
use v6d;
# sub circumfix:<α ω>( @a ) {
# @a[0] >= @a[1] & @a[0] <= @a[2];
# };
sub circumfix:<α ω>( $a, $b, $c ) {
$a >= $b & $a <= $c;
};
if (α <5 0 10> ω) {
say 'Truthy';
}
else {
say 'Falsey';
}
结果是:
(base) hsmyers@BigIron:~/board$ perl6 ./op.p6
Too few positionals passed; expected 3 arguments but got 1
in sub circumfix:<α ω> at ./op.p6 line 7
in block <unit> at ./op.p6 line 11
而将注释块切换为其他定义会导致:
(base) hsmyers@BigIron:~/board$ perl6 ./op.p6
Truthy
损坏的版本(带有三个参数)是我想要的版本,有人可以解释为什么它会损坏吗?
解决方案
推荐阅读
- c# - ASP Net Teams 选项卡身份验证
- java - SOAP over Websocket 与 Appache CXF 和 Embedded Jetty
- reactjs - Rollbar + React:多个缩小的 JS 和 Sourcemap
- apache-kafka - 在kafka topic上建表后ksql表中没有数据
- javascript - 如何定义一个变量并在 jsviews 模板上使用它?
- c# - 如何将 Kitware VTK dll 从 ActiViz 导入 Unity?
- angular - Angular-Calendar:没有 DateAdapter 的提供者
- sql-server - 为什么 SSIS vb 脚本在 VS 中执行而不是从 SQL Server 执行时正确检测文件存在
- r - 警告:if 中的错误:参数长度为零
- javascript - Http 状态未在 try 和 catch javascript 上触发