Perl 6 中的引號

除了 q 和 qq 之外歇终,現(xiàn)在還有一種基本形式的 Q权纤,它不會進(jìn)行插值钓简,除非顯式地修改它那樣做乌妒。所以,q 實(shí)際上是 Q:q 的簡稱外邓,qq 實(shí)際上是 Q:qq 的簡稱撤蚊。實(shí)際上所有的 quote-like 形式都派生自帶有副詞的 Q 形式:

S02-literals/quoting.t lines 95–116
S02-literals/quoting.t lines 132–139

q//         Q :q //
qq//        Q :qq //
rx//        Q :regex //
s///        Q :subst ///
tr///       Q :trans ///

諸如 :regex 的副詞通過轉(zhuǎn)換到不同的解析器改變了語言的解析。這能完全改變?nèi)魏沃蟮母痹~還有所引起的東西自身的解釋损话。

q:s//       Q :q :scalar //
rx:s//      Q :regex :scalar //

就像 q[...] 擁有簡寫形式的 '...', 并且 qq[...] 擁有簡寫形式的 "..." 一樣侦啸,完整的 Q[...] 引用也有一種使用半角括號 ?...? 的短形式。

引號上的副詞

廣義上的引號現(xiàn)在可以接收副詞了:
S02-literals/quoting.t lines 210–223
S02-literals/quoting.t lines 55–69
S02-literals/quoting.t lines 427–501

Short       Long            Meaning
=====       ====            =======
:x          :exec           作為命令執(zhí)行并返回結(jié)果
:w          :words          按單詞分割結(jié)果(沒有引號保護(hù))
                                     

:ww         :quotewords     按單詞分割結(jié)果 (帶有引號保護(hù))
:v          :val            Evaluate word or words for value literals
:q          :single         插值 \\, \q 和 \' (or whatever)
                                    

:qq         :double         使用 :s, :a, :h, :f, :c, :b 進(jìn)行插值
:s          :scalar         插值 $ vars
:a          :array          插值 @ vars
:h          :hash           插值 % vars

                        
:f          :function       插值 & 調(diào)用
:c          :closure        插值 {...} 表達(dá)式
:b          :backslash      插值 \n, \t, 等. (至少暗示了 :q )
:to         :heredoc        把結(jié)果解析為 heredoc 終止符
            :regex          解析為正則表達(dá)式
            :subst          解析為置換 (substitution)
            :trans          解析為轉(zhuǎn)換 (transliteration)
            :code           Quasiquoting
:p          :path           返回一個 Path 對象 (查看 S16 獲取更多選項(xiàng))

通過在開頭加入一個帶有短形式的單個副詞的 Q丧枪,q光涂,或 qq,你可以省略掉第一個冒號拧烦,這產(chǎn)生了如下形式:

qw /a b c/;                         # P5-esque qw// meaning q:w
Qc '...{$x}...';                    # Q:c//, interpolate only closures
qqx/$cmd @args[]/                   # equivalent to P5's qx//

(注意 qx// 不插值)

如果你想進(jìn)一步縮寫忘闻,那么定義一個宏:

macro qx { 'qq:x ' }          # equivalent to P5's qx//
macro qTO { 'qq:x:w:to ' }    # qq:x:w:to//
macro quote:<? ?> ($text) { quasi { {{{$text}}}.quoteharder } }

所有大寫的副詞被保留用作用戶定義的引號。所有在 Latin-1 上面的 Unicode 分隔符被保留用作用戶定義的引號恋博。
S02-literals/quoting.t lines 352–426

關(guān)于上面我們現(xiàn)在有了一個推論齐佳,我們現(xiàn)在能說:

 %hash = qw:c/a b c d {@array} {%hash}/;

%hash = qq:w/a b c d {@array} {%hash}/;

把東西(items)插值到 qw 中。默認(rèn)地交播,數(shù)組和散列在插值時只帶有空格分隔符重虑,所以之后的按空格分割仍舊能工作。(但是內(nèi)置的 ?...? 引號自動進(jìn)行了等價于 qq:ww:v/.../ 的插值)秦士。 內(nèi)置的 <...> 等價于 q:w:v/.../缺厉。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市隧土,隨后出現(xiàn)的幾起案子提针,更是在濱河造成了極大的恐慌,老刑警劉巖曹傀,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件辐脖,死亡現(xiàn)場離奇詭異,居然都是意外死亡皆愉,警方通過查閱死者的電腦和手機(jī)嗜价,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幕庐,“玉大人久锥,你說我怎么就攤上這事∫彀” “怎么了瑟由?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長冤寿。 經(jīng)常有香客問我歹苦,道長青伤,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任殴瘦,我火速辦了婚禮狠角,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘痴施。我一直安慰自己擎厢,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布辣吃。 她就那樣靜靜地躺著动遭,像睡著了一般。 火紅的嫁衣襯著肌膚如雪神得。 梳的紋絲不亂的頭發(fā)上厘惦,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天,我揣著相機(jī)與錄音哩簿,去河邊找鬼宵蕉。 笑死,一個胖子當(dāng)著我的面吹牛节榜,可吹牛的內(nèi)容都是我干的羡玛。 我是一名探鬼主播,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼宗苍,長吁一口氣:“原來是場噩夢啊……” “哼稼稿!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起讳窟,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤让歼,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后丽啡,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谋右,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年补箍,在試婚紗的時候發(fā)現(xiàn)自己被綠了改执。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡坑雅,死狀恐怖辈挂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情霞丧,我是刑警寧澤呢岗,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布冕香,位于F島的核電站蛹尝,受9級特大地震影響后豫,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜突那,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一挫酿、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧愕难,春花似錦早龟、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至猜丹,卻和暖如春芝加,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背射窒。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工藏杖, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脉顿。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓蝌麸,卻偏偏與公主長得像,于是被迫代替她去往敵國和親艾疟。 傳聞我的和親對象是個殘疾皇子来吩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,573評論 2 359

推薦閱讀更多精彩內(nèi)容