簡體   English   中英

如何否定groovy中的變量

[英]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獲取正確的布爾值,該值為truefalse

def mybool = "false"
def v = Boolean.valueOf(mybool)
println "v=" + v
// => v=false
println "!v=" + !v
// => !v=true

String.toBoolean()更靈活,允許更廣泛的“truthy”字符串( truey1 ,全部修剪和忽略大小寫)。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM