在 raku REPL 中定义后缀运算符时出现问题

2023-12-24

如果我在 raku 中有以下程序,它运行良好:

trabajando-en-piensa-en-raku on  master [?] via ???? v2.6.5
❯ cat factorial.raku

sub factorial( $n ) {
   [*] 1 .. $n;
}

sub postfix:<!>( $n ) {
    [*] 1 .. $n;
}

my $n = 5;

say "El factorial de $n es {factorial $n}";

say "Si calculamos $n! obtenemos {$n!}";


trabajando-en-piensa-en-raku on  master [?] via ???? v2.6.5
❯ raku factorial.raku
El factorial de 5 es 120
si calculamos 5! obtenemos 120

但如果我在 raku REPL 中定义这个函数,我会得到:

> * * &factorial
> 5
> El factorial de 5 es 120

它正常工作并且符合阶乘函数的预期,但我得到这个!操作员:

> * * &postfix:<!>
> ===SORRY!=== Error while compiling:
Negation metaoperator not followed by valid infix
------> say "Si calculamos $n! obtenemos {$n!⏏}";
    expecting any of:
        infix
        infix stopper

我需要一种特殊的语法来定义 raku REPL 中的运算符,或者取决于环境的加载方式。

我在 OSX Catalina 中使用

trabajando-en-piensa-en-raku on  master [?] via ???? v2.6.5
❯ rakubrew versions
  system
  moar-2020.07
* moar-2020.08.2

恐怕当前状态下的 REPL 在一些 Raku 功能方面存在一些缺陷,例如本机变量和运算符定义,IF这些是在不止一行中执行的。

目前 REPL 基本上正在执行EVAL每行的语句,调用之间没有足够的信息共享。这在短期内不会改变。明年某个时候,当 rakuast 分支登陆时,情况可能会变得更好。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 raku REPL 中定义后缀运算符时出现问题 的相关文章

随机推荐

  • 有向图的数据结构,允许快速删除节点?

    我需要存储有向图 不一定是非循环的 以便节点删除尽可能快 我不介意存储额外的数据 以便准确地知道删除节点时必须删除哪些边 如果我存储一个边列表 作为节点索引对 那么当杀死某个节点 n 时 我必须在整个列表中搜索源或目标为 n 的边 这对于我
  • Jersey:ContainerRequestFilter 未获取 Context ServletRequest

    要查看此问题的完整代码 请参阅此 github https github com mobiusinversion web application https github com mobiusinversion web applicatio
  • 如何在 Kotlin Buildscript 中应用 Google 服务插件

    如何将 Google 服务插件应用到我的应用程序模块 build gradle kts 文件的底部 使用plugins 文件顶部的块会发出警告 并且使用文件下面的同一块会导致错误 因为该块不能使用两次 在 Kotlin 构建脚本中应用 Go
  • 删除 Javascript 中的子数组项

    我如何从以下数组中删除整个子数组项id 2在 JavaScript jQuery 中 arr id 1 name Steve id 2 name Martin id 3 name Short 我不知道如何使用grep or splice在这
  • 在 vb6 中使用 .NET COM

    我在 vb6 中使用 NET COM 时遇到问题 它编译正常 我使用 regasm 注册它 在 vb6 项目中添加对它的引用 它甚至具有智能感知 但是当我尝试创建实例时 它给了我一个 自动化错误 任何人都可以帮忙吗 提前致谢 您可能需要确保
  • Apache - 无效命令“SSLMutex”

    我正在将 Apache 版本从 2 0 升级到 2 4 安装2 4后 我遇到了以下问题 Invalid command SSLMutex perhaps misspelled or defined by a module not inclu
  • PHP:一次搜索更多表?

    我如何进行 mysql 查询以一次检查更多表 我的意思是 类似 sql mysql query SELECT username FROM table1 table2 table3 WHERE username username numer
  • vba 的类型不匹配运行时错误 (13)

    我想对该区域进行过滤并删除与该区域不匹配的其余行 该表中没有公式 只有值和字符 这是我正在处理的较大代码的一部分 因此我只会发布这部分 这是我第一次看到该错误 因此对于其他工作表 它们按照我声明的方式工作得很好 有错误且无法通过的线路在这里
  • 为什么 asyncio.get_event_loop 方法检查当前线程是否是主线程?

    Why get event loopasyncio 中的方法 source https github com python cpython blob 3 7 Lib asyncio events py L639 正在检查当前线程是否是主线程
  • 未找到操作的端点引用 (EPR)

    Exception in thread main org apache axis2 AxisFault The endpoint reference EPR for the Operation not found is services M
  • 堆栈给出“dyld:格式错误的 mach-o”

    例如 当我尝试运行堆栈时 即使只是stack version I get dyld malformed mach o load commands size 38712 gt 32768 我能做什么来解决这个问题 在最近对 Homebrew
  • Monorepo - 多个 .vscode 设置

    项目结构 我有以下项目结构 vscode settings json packages app index js package json website vscode settings json index html styles scs
  • 如何在 MVC CORE 中对 ViewModel 进行分页?

    在 MVC CORE 演示中https learn microsoft com en us aspnet core data ef mvc sort filter page https learn microsoft com en us a
  • 如何使 UI 图像选择器控制器读取 iPhone 中的自定义源类型

    我必须在 iPhone 中创建一个照片库应用程序 它的功能应该与 iPhone 附带的照片应用程序相同 但它应该显示我与应用程序打包的图像 UIImagePickerController 仅读取以下源类型 UIImagePickerCont
  • Windows Batch:如何删除所有空白(或空)行

    我正在尝试使用 Windows 批处理程序从文本文件中删除所有空白行 我知道实现这一目标的最简单方法是sh通过正则表达式和 sed 命令 sed i d test txt 问题 Windows批处理有类似的吗simple从文本文件中删除所有
  • 使用 Log4Net 以编程方式强制创建新的日志文件

    注意 我阅读了这个问题和答案 它不适用于我想要的 Log4Net 以编程方式指定多个记录器 具有多个文件附加程序 https stackoverflow com questions 308436 log4net programmatical
  • 实现 getarg 子例程调用

    我在 F90 中编写了一个程序 它从文本文件中读取一些输入数组 然后通过一个函数将它们组合到一个输出文件中 其中一个输入文件以使用 MMDDYY tuvr 收集数据的日期命名 然后输出文件命名为 MMDDYY fxi 我希望能够在运行程序时
  • 连接到 Redis 时,Unix 套接字比 tcp 慢

    我正在开发高性能 Web 服务器 应处理 2k 同时连接和 40k QPS 实现响应时间 它的作用是查询 Redis 服务器 在同一主机上运行 并将响应返回给客户端 在测试过程中 我观察到使用 TCP STREAM SOCKET 的实现比使
  • 无法获取 UserManager 类

    我想做的是添加一个新的管理员用户并为其分配管理员角色 所以 我去了Startup cs班级在Configure方法并编写了以下代码 var context app ApplicationServices GetService
  • 在 raku REPL 中定义后缀运算符时出现问题

    如果我在 raku 中有以下程序 它运行良好 trabajando en piensa en raku on master via v2 6 5 cat factorial raku sub factorial n 1 n sub post