如何测试变量是否为空或qmake
.pro
文件中未定义?如果未定义变量,我希望能够设置默认值.
我试过了
eval("VARIABLE" = ""){
VARIABLE = test
}
eval("VARIABLE" = ""){
message(variable is empty)
}
Run Code Online (Sandbox Code Playgroud)
但我仍然收到消息"变量为空".
UmN*_*obe 15
已经有功能isEmpty我没有发现:
isEmpty(VARIABLE){
VARIABLE = test
}
isEmpty(VARIABLE ){
message(variable is empty)
}
Run Code Online (Sandbox Code Playgroud)
我不明白为什么eval没有工作的想法......
就像您自己的答案说的isEmpty(VARIABLE)
那样,您想要做什么:
isEmpty(VARIABLE) {
...
}
Run Code Online (Sandbox Code Playgroud)
qmake语言没有等于运算符(==
)的等效项,但是您可以比较以下内容:
equals(VARIABLE, foo) {
...
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用正则表达式检查变量是否包含子字符串:
contains(VARIABLE, .*foo.*) {
...
}
Run Code Online (Sandbox Code Playgroud)
之所以eval()
不起作用,是因为它执行其中的语句,如果语句成功,则返回true。
因此,通过执行以下操作:
eval(VARIABLE = "") {
...
}
Run Code Online (Sandbox Code Playgroud)
...您实际上是在分配 ""
给VARIABLE
,将变量设为空并进入该块。
有关测试功能的更多信息:http : //qt-project.org/doc/qt-5/qmake-test-function-reference.html