Info

🌱 來自: command line know how

m4

m4 中,要在使用單引號 ' 包圍的字串中包含單引號本身,有些複雜, ∵ 因為 m4 使用一對反引號 ` 和單引號 ' 來界定巨集參數或定義

  • 在許多程式語言中,通常可以 ✔ 通過在單引號前加上反斜杠 \ 來轉義單引號,但在 m4 中,這種方法 ✖ 不適用, ∵ 因為反斜杠 ✖ 不是以相同方式用作轉義字符。

然而,您可以 ✔ 通過連接字串來解決這個限制

  • 以下是在字串中包含單引號的方法:
  1. 在單引號之前結束第一個字串
  2. 將其與 [''] 連接,這在 m4 中代表單引號
  3. 然後與其餘的字串連接

例如,如果您有一個字串 Don't,您應該在 m4 中這樣寫:

define(`example', `Don['']t')

在這個例子中,字串 Don 被連接上 [''] (這是 m4 表示單引號的方式) ,然後與 t 連接,結果就是 Don't

這種方法有點麻煩,但 ∵ 由於 m4 處理字串和字符轉義的方式,這是必要的。