当前位置: 首页 > 知识库问答 >
问题:

Raku:相互递归的令牌导致“方法找不到”错误

龚振
2023-03-14
my token paren { '(' <tok> ')' }
my token tok { <paren>? foo }

say "(foo)foo" ~~ /<tok>/;
No such method 'tok' for invocant of type 'Match'.  Did you mean 'to'?
  in regex paren at a.p6 line 1
  in regex tok at a.p6 line 2
  in block <unit> at a.p6 line 4

共有1个答案

仉峻
2023-03-14

问题是tok还不在当前的词法命名空间中,因此 被编译为方法调用。

如果您用&强制它是一个词法调用,那么它可以工作。

my token paren { '(' <&tok> ')' }
my token tok { <paren>? foo }

say "(foo)foo" ~~ /<tok>/;

如果<…>以字母以外的任何东西开头,它不会捕获。

my token paren { '(' <tok=&tok> ')' }
my token tok { <paren>? foo }

say "(foo)foo" ~~ /<tok>/;
 类似资料:
  • 我使用postMan,输入请求地址http://localhost:8011/umrah/oauth/token?client_id=client_2&username=1234567&password=123456&grant_type=password&client_secret=123456,点击send按钮,出现错误,在内存中工作正常,当我想使用Jdbc令牌存储时,想法控制台错误:找不到令

  • 假设我编写这样的代码: 我如何让Kotlin优化这些相互递归的函数,以便在不抛出StackOverflower错误的情况下运行main?tailrec关键字适用于单函数递归,但没有更复杂的功能。我还看到一个警告,在使用关键字tailrec的地方没有找到尾部调用。也许这对编译器来说太难了?

  • 我有一个非常简单的ftp路由,应该递归地从URL下载文件。今天让它静止运行将是非常重要的。 正如Upadete1中添加的那样,我没有使用pollenfrich()。现在无法从计时器启动路由,但它可以工作。所以我将结束这个问题。我真的很喜欢幂等消费者的想法(与最初的问题无关)。

  • 我正试图用Maven构建一个Java项目。我的pom。xml主要包括依赖项,其中一些依赖项有自己的可传递依赖项。 当我运行'mvn compile'时,大多数依赖项加载良好,但没有找到一些传递性依赖项,给出警告“[警告]artifact_name的POM丢失,没有可用的依赖项信息”。这导致Maven编译失败。 日志显示,已从Maven和Jboss公共存储库中搜索了依赖项。 > 在这种情况下,当没有

  • 问题内容: 我有一个定义相互递归表的模型: 要实际插入问题,我需要怎么做?我需要知道什么是正确的答案。但是要插入答案,我需要知道答案是什么。 如果有问题,我正在运行Postgres。 DDL为: 问题答案: 如果您使用数据修改CTE在 单个语句中 输入问题和答案,那么您甚至都不需要FK约束。更不用说实际制造(或发声)它们了- 这会贵得多。 资料模型 首先,我清理了您的数据模型: 不要使用非描述性的

  • 我试图创建spring rest服务,它是由我自己的oauth2资源服务器自动引诱的。我创建了资源服务器: {“error”:“server_error”,“error_description”:“java.io.NotSerializableException:org.springframework.security.crypto.bcrypt.bcryptPasswordenCoder”} 在