【问题标题】:How to escape [ and % characters in TT2如何在 TT2 中转义 [ 和 % 字符
【发布时间】:2017-05-02 14:36:14
【问题描述】:

我正在使用TT2。我想从我的模板文件中打印something[%0d]。但我似乎找不到任何用于模板工具包的转义字符。

关于如何跳过%[ 以在TT 下处理有什么建议吗?

确切的行是:

printer.print_object(.name($sformatf("[% item %]_slv_agent_cfg[%0d]:", i)), .value([% item %]_slv_agent_cfg[i]));

提前致谢

【问题讨论】:

标签: perl template-toolkit


【解决方案1】:

【讨论】:

  • 这实际上不是你的链接所说的。
  • 是的,你是对的——发帖有点太仓促了。将删除。
  • 未删除以回应鲍罗丁对 OP 的评论。
【解决方案2】:

你可以使用

[% "[%" %]

代替

[%

看起来像这样:

$ tpage <<<'slv_agent_cfg[% "[%" %]0d]'
slv_agent_cfg[%0d]

$ tpage <<<'slv_agent_cfg[% "[%0d]" %]'
slv_agent_cfg[%0d]

一个更短的解决方案是使用

[[%%]%

代替

[%

看起来像这样:

$ tpage <<<'slv_agent_cfg[[%%]%0d]'
slv_agent_cfg[%0d]

如果您发现自己需要转义太多实例,可以切换tag style


最后,您可以更改程序以首先避免顺序。例如,您也许可以替换

"slv_agent_cfg[%0d]"

"slv_agent_cfg[\%0d]"

{"slv_agent_cfg[","%0d]"}

我不知道 Verilog,所以具体内容可能不正确,但你明白了。

【讨论】:

    猜你喜欢
    • 2011-02-09
    • 2010-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-25
    • 2011-01-18
    • 2014-04-23
    • 2012-05-08
    相关资源
    最近更新 更多