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

克里斯托弗·巴顿

~在此Config :: INI Perl 6语法中发现了波浪号

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

~我正在处理的文字中没有波浪号我知道这'[' ~ ']'很重要,因为省略任何或全部'['~以及']'使语法不再匹配我的文字。

由于我知道我要匹配的模式是什么,所以我对其进行了更改,以使方括号位于文本表达式的周围,因此:

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

所以在我看来,这'[' ~ ']'真的是说在这里匹配一个方括号,然后再期待结束括号。

无论如何,我知道在正常的Perl 6语法中,波浪号~用于连接字符串。但这显然在本语法内意味着不同的东西(在Perl 6中,可以使用文法从文本中提取复杂的数据结构。它们就像带到下一级的正则表达式一样。)

无论如何,我在文档中搜索了语法”和“正则表达式”中的单个~,但在语法或正则表达式中均未找到任何内容。


交叉发布在StackOverflow上

亚伦·鲍尔(Aaron Baugher)

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

它主要完成您发现的内容:用右括号后的表达式替换代字号,并在括号字符之间进行搜索。但是,它增加了一些额外的魔力,以帮助表达式识别终止括号,并在找不到最终括号时提供更有用的错误消息。因此,无论哪种方式,通常都会获得相同的结果,但并非总是如此。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

->在Perl 6中是什么意思?

来自分类常见问题

Perl中的<<'m'=〜m >>语法是什么意思?

来自分类Dev

这个Perl语法是什么意思?

来自分类Dev

::在Ruby语法中是什么意思?

来自分类Dev

if语法中的','是什么意思?

来自分类Dev

Lombok中的语法@@()是什么意思?

来自分类Dev

if语法中的','是什么意思?

来自分类Dev

<*>在Perl中是什么意思?

来自分类Dev

Perl中的双'at'(@@)是什么意思?

来自分类Dev

在Perl中,“ $ @”是什么意思?

来自分类Dev

在Perl中,“ $ @”是什么意思?

来自分类Dev

〜在perl中是什么意思?

来自分类Dev

!~ 在 perl 中是什么意思

来自分类Dev

*[ ... ] 语法是什么意思?

来自分类Dev

Perl:。=〜是什么意思

来自分类常见问题

模板中的#foo =“ myFoo”语法是什么意思?

来自分类Dev

JL在at&t语法中是什么意思?

来自分类Dev

语法功能[T]在scala中是什么意思

来自分类Dev

Todomvc中的“![]” Elm代码语法是什么意思

来自分类Dev

在Swift中,这种特定的语法是什么意思?

来自分类Dev

http请求中的这种语法是什么意思?

来自分类Dev

这个语法在Swift中是什么意思?

来自分类Dev

朱莉娅(Julia)中的“&=”语法是什么意思?

来自分类Dev

在Terraform中,封装“#{variableName}”的语法是什么意思?

来自分类Dev

在C#中,“ {}”语法是什么意思?

来自分类Dev

(JSX)是React中JavaScript的语法扩展是什么意思

来自分类Dev

C ++中奇怪的语法是什么意思

来自分类Dev

模板中的#foo =“ myFoo”语法是什么意思?

来自分类Dev

x:y语法在JavaScript中是什么意思?