一個Perl 6 Regex是一個更具體的Method類型,所以我有這樣的想法,也許我可以做一些黑魔法在一個常規的方法,產生同樣的事情。我特別好奇在不改變任何語法的情況下這樣做。我可以更改方法中的Perl 6俚語嗎?
然而,看着Perl6/Grammar.nqp(我幾乎不明白),這實際上不是一個繼承的東西。我認爲,根據我的閱讀,Perl 6語法在看到一個正則表達式聲明符時會切換俚語(子語言)。也就是說,不同的語法解析regex { ... }
和method {...}
的內容。
所以,首先,是嗎?
然後,只是爲了笑聲,我想也許我可以在方法塊內但告訴它使用不同的俚語(例如,請參閱"Slangs" from the 2013 Perl 6 Advent Calendar或"Slangs Today")。
但是,我發現的一切看起來都像是想改變語法。有沒有辦法做到這一點,並返回一個字符串,被視爲如果它出來regex { ... }
?
method actually-returns-a-regex {
...
}
我對此沒有任何實際用途。我只是一直在想。
「返回一個字符串,它被視爲正則表達式{...}?」作爲編譯正則表達式的結果,編譯器生成正則表達式*對象*,而不是字符串。這是你的意思嗎?你的意思是說有一種方法可以替代正則表達式嗎? – raiph
「所以,首先,正確的(那)不同的語法解析正則表達式{...}和方法{...}(?)的內涵」是的,「主要」P6俚語/語法分析正則表達式'方法'聲明,但使用'Regex'俚語/語法來解析'regex'聲明的主體。 – raiph
「也許我可能在一個方法塊內,但告訴它使用不同的俚語」你可以,但使用俚語意味着改變編譯器正在使用的語法,你寫道你不想改變語法。 – raiph