Text-Processing
Gnu nroff - 在行首輸出帶點的行
我試圖用原始(無宏)GNU 編寫一個自我複製程序(“quine”)
nroff
。誠然,這是毫無意義且古怪的,但以前似乎沒有這樣做過。我沒有這樣做。我很確定,無論誰成功編寫了無宏
nroff
輸入語言 quine,都需要定義字元串、宏或“框”。為此,您需要編寫如下請求:.as s "just assigned this to string s .de xxx .nop "\*s" .. .xxx
也就是說,
nroff
輸入中的每個請求都有一個“。” 在行的開頭。由於 quines 只是輸出他們的原始碼(沒有作弊),輸出可能必須有 ‘.’ 作為幾個輸出行的第一個字元。
你到底是如何讓 GNU
nroff
輸出一個 ‘.’ 的?行首的字元?據我所知,任何間接或轉義都無法做到。是否有一些隱藏的請求會輸出“。” 在一行的開頭?我正在使用最近同步的 Arch Linux,它安裝了 Groff 1.22.3。
從
mdoc(7)
The special meaning of a punctuation character may be escaped with the string ‘\&’
所以:
\&.
然而,這與後續行結合起來可能會很棘手,例如
\&. \&.as s "nron, nroff--very good, again!
一起執行(並產生一大堆空白行)
$ nroff blah | head -2 . .as s "nron, nroff‐‐very good, again!
儘管您可以通過添加空行或可能使用其他宏來解決此問題
\&. \&.as s "nron, nroff--very good, again!
雖然我不知道這將如何影響奎因的需求……