2019独角兽企业重金招聘Python工程师标准引用的转义使用\,指令的转义也是使用\。但是指令的转义要比引用的转义复杂很多。例如#i 2019独角兽企业重金招聘Python工程师标准>>> 引用的转义
2019独角兽企业重金招聘Python工程师标准>>>
引用的转义使用"\",指令的转义也是使用"\"。但是指令的转义要比引用的转义复杂很多。例如
#if($foo)Go!#end$foo为true,输出Go!否则不输出任何内容。
使用转义
\#if( $foo )Go!\#end此时"\"和"#"结合从而破坏了原本的#if()而$foo作为判断条件也不会被解析。所以上面这段代码无论$foo是true还是false结果都是#if( $foo )Go!#end这类似于使用了#literal() ... #end指令。
如果使用两个"\"
\\#if( $foo )Go!\\#end首先#if前面的两个假定$foo是true那么会输出"Go!"并且是紧跟在刚才的"\"后面(因为没有换号符)。#if($foo)和#end之间的内容都会输出包括#end前面的两个"\"它们会被解析为一个"\"。如果$foo是false仅仅输出一个"\"而"Go!"以及后面下一行的"\"不会输出。"\"结合变为一个"\"输出。然后#if($foo)正常处理。
还有一种情况需要说明
\\\#if($foo)Go!\\#end前两个"\"被解析为"\"第三个"\"和后面的"#"解析为"#"#if()被破坏。所以输出就是 \#if($foo)Go!\......注意最后那里有一个合法的#end但是它是多余的所以这一段代码是会报错的。
转:https://my.oschina.net/zjllovecode/blog/1840673
【文章出处:盐城网页设计公司 http://www.1234xp.com/yancheng.html 提供,感恩】