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

~在语法中是什么意思(在Perl 6中)?

尉迟正奇
2023-03-14

我在这个Config::INI Perl中找到了一个tilde~

token header { ^^ \h* '[' ~ ']' $<text>=<-[ \] \n ]>+ \h* <.eol>+ }

我正在处理的文本中没有波浪号~。我知道'['~']'很重要,因为省略'['~']中的任何或所有内容都会使语法与我的文本不再匹配。

因为我知道我匹配的模式是什么,所以我改变了它,使方括号位于文本表达式周围,因此:

token header   { ^^ \h* '[' $<text>=<-[ \] \n ]>+ ']' \h* <.eol>+ }

所以在我看来,'[' ~ ']'实际上是说在这里匹配一个方括号,然后期待最后一个括号。

无论如何,我知道在正常的Perl中

不管怎样,我在留档中搜索了语法和正则表达式,只搜索了一个~,但是我没有在语法和正则表达式中找到任何内容。

交叉张贴在StackOverflow en español上

共有1个答案

班昱
2023-03-14

您可以在以下设计文档中找到解释:https://github.com/perl6/roast/blob/master/S05-metachars/tilde.t#L6-L81

它主要做你发现的事情:用右括号后面的表达式替换波浪号,并在括号字符之间搜索它。然而,它增加了一些额外的魔力来帮助表达式识别终止括号,并在没有找到最终括号时提供更有用的错误消息。所以你通常会得到相同的结果,但不总是这样。

 类似资料:
  • 问题内容: 我使用PHP已有很长时间了,但是我看到的类似, 确切地说,我在PHP Mongo页面中看到了这一点: 那么,该怎么办?这是相当难与谷歌或像字符PHP文件中进行搜索,和。 问题答案: (美元大括号)被称为 复杂(卷曲)语法 : 之所以称其为“复杂”,是因为语法复杂,而是因为它允许使用复杂的表达式。 可以通过此语法包括具有字符串表示形式的任何标量变量,数组元素或对象属性。只需以与出现在字符

  • 问题内容: 我遇到了以下我不认识的Java语法。 这部分很好: 但是,我没有得到: 这是什么? 问题答案: 这提供了该类的内联(匿名)子类。 从功能上讲,它与: 和 但是由于该类定义不在方法主体之外使用,因此可以将其定义为匿名。

  • 在以下代码示例中,来自颤振文档:

  • 问题内容: 我正在寻找有关Google Go语言的信息。在“ A Go of Go”中,他们具有以下代码: 但是什么和 意味着什么呢? 您可以在http://tour.golang.org/#14上查看所有代码 问题答案: 它们是按位移位运算符。表示 x ×2 y ,而表示 x ×2 -y 或等效地x÷2 y。这些运算符通常用于操作值的二进制表示形式,就像十进制的10的幂一样,乘或除以2的幂分别具

  • 问题内容: 我对&符号的了解只是一点点的了解,但有时我会在变量名的前面看到它。将a 放在变量前面有什么作用? 问题答案: 用作使变量成为输入输出参数。实际上,输入输出表示通过参考传递值,而不是通过值传递值。而且,它不仅需要通过引用接受值,还需要通过引用传递值,所以用&传递值,而不是 如您所见,您可以在Swift的错误处理中使用它,您必须创建一个错误引用并将其传递给使用该函数的函数,如果发生错误,该

  • 另外,是什么意思?我一直尝试使用 但是将无法工作,除非放入。