首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GNU m4:转义回退(`)

GNU m4:转义回退(`)
EN

Stack Overflow用户
提问于 2015-04-08 18:34:55
回答 1查看 2K关注 0票数 10

一个简单的GNU m4问题,但我找不到正确的答案。我想打印一个开始/结束代码部分的标记头:

代码语言:javascript
复制

回音你好

代码语言:javascript
复制

如何创建包含3个背板的GNU M4宏?就像这样

代码语言:javascript
复制
define(`md_code',````')
md_code
echo Hello
md_code
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 16:33:48

从M4邮件列表中得到了Eric的答复:http://lists.gnu.org/archive/html/m4-discuss/2015-04/msg00004.html

长春花是你的朋友。这样可以做到:

代码语言:javascript
复制
define(`md_code', changequote([, 
])[changequote([,])```changequote(`,')]changequote(`,'))

我必须更改两次引号:一次是围绕宏定义,因为定义本身打算以不平衡的方式使用(倒带);另一次是在宏扩展中,因为扩展将以不平衡的方式输出回退;对于每一次更改的引号,必须还原原来的引号。这假设默认的引用在整个m4运行过程中保持在(backticks)‘。 尽管在您的情况下,我建议先使用changequote,然后在全局上根据这些引用规则而不是默认的(backticks)引用规则编写您的输入。请记住,autoconf有意使用作为引用字符,因为它们很可能在输出上是平衡的,而不是(backticks)和“在shell脚本中没有发生在平衡对中”。事实上,选择2或3字节的引用字符串甚至不那么含糊,尽管它需要更多的类型。

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29522699

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档