考慮這一點,執行中的eval()的toString() - Groovy的(在GString的方法調用)
$RespNode
值
RespJson.seatbid[0].bid[0].price
我試圖運行
Eval.me('RespJson', RespJson, "assert $RespNode.toString() == '$aValue'")
但出錯
當我運行這個(直接,如果沒有的eval())
assert RespJson.seatbid[0].bid[0].price.toString()==aValue
運行良好(無差錯)
以下也能正常工作(不包括的toString())
Eval.me('RespJson', RespJson, "assert $RespNode == '$aValue'")
任何想法,如何運行toString()
與謝謝!
謝謝。大括號它工作正常。 'Eval.me('RespJson',RespJson,「assert $ {RespNode} .toString()=='$ aValue'」)'。但是,我們如何知道我們必須使用Gstring'$ {RespNode}'而不是'$ RespNode'? – user1207289 2014-10-08 16:48:24
@ user1207289'$ RespNode' ist非常好!除非你進一步深入瞭解某些事情,那可以進行評估。例如'「這是$的時間點」'沒關係。但''你好$世界。我的名字是X「'最有可能不是。最好使用'$ {}'來保證安全。 – cfrick 2014-10-08 16:50:28
@cfrick謝謝! – user1207289 2014-10-08 16:57:28