VTL 中的美元和感叹号(爆炸)符号

Posted

技术标签:

【中文标题】VTL 中的美元和感叹号(爆炸)符号【英文标题】:Dollar and exclamation mark (bang) symbols in VTL 【发布时间】:2019-02-06 06:36:41 【问题描述】:

我最近在一些 Velocity 代码中遇到了这两个变量:

$!variable1
!$variable2

我对它们的相似性感到惊讶,因此我开始怀疑代码的正确性,并对找出两者之间的区别感兴趣。

velocity 是否可能允许这两个符号的任意顺序,或者它们有不同的目的?你知道答案吗?

【问题讨论】:

【参考方案1】:

@Jr.这是我在做虚拟机研发时遵循的指南:http://velocity.apache.org/engine/1.7/user-guide.html

Velocity 使用 !$ 和 $!不同事物的注释。如果你使用 !$ 它基本上和普通的“!”是一样的。运算符,但 $!用作基本检查以查看变量是否为空,如果是,则将其打印为空字符串。如果您的变量为空或 null 并且您不使用 $!注释它会将实际的变量名称打印为字符串。

【讨论】:

【参考方案2】:

在我终于在people.apache.org 找到答案之前,我在 Google 上搜索和 *** 了很多次。

据此:

很容易将安静的引用符号与 布尔非运算符。使用非运算符,您使用 !$foo,而 安静的参考符号是 $!foo。是的,你最终会 有时用 !$!foo...

毕竟很简单,遗憾的是它没有立即打动我。希望这对某人有所帮助。

【讨论】:

在谷歌中搜索特殊字符并不容易...我没有找到任何有用的东西所以我打开了文档并开始搜索!符号

以上是关于VTL 中的美元和感叹号(爆炸)符号的主要内容,如果未能解决你的问题,请参考以下文章

在 Typescript 中,啥是 ! (感叹号/爆炸)操作员取消引用成员时?

在 Typescript 中,啥是 ! (感叹号/爆炸)操作员取消引用成员时?

在 Typescript 中,啥是 ! (感叹号/爆炸)操作员取消引用成员时?

常见ASCII码

bat 中的特殊符号输出问题

EditText中的标点符号 - Android Nougat