[英]How to negate a variable in groovy
我試圖使用groovy腳本來否定變量,但它似乎無法使用(!),變量從運行groovy構建流程的jenkins控件傳遞:
def P = "arg"
def resolver = build.buildVariableResolver
def V = resolver.resolve(P)
print "V is " + V
print "negated V is " + !V
在兩個印刷品我得到相同的價值!
使用Java的Boolean.valueOf()
或Groovy的String.toBoolean()
從String獲取正確的布爾值,該值為true
或false
。
def mybool = "false"
def v = Boolean.valueOf(mybool)
println "v=" + v
// => v=false
println "!v=" + !v
// => !v=true
String.toBoolean()
更靈活,允許更廣泛的“truthy”字符串( true
, y
, 1
,全部修剪和忽略大小寫)。
def b = "False"
def v = b.toBoolean()
println "v=" + v
// => v=false
println "!v=" + !v
// => !v=true
雖然這些是問題的補救措施,但原始代碼的表現與它所做的一樣,因為有一個隱含的強制轉換。 !"false"
為false
(布爾值),因為"false"
是由groovy標准為true
(非空字符串)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.