2017-10-17 2 views
0

J'ai une méthode que je vous appelle comme ceci:retour groovy de la fonction dans parens?

def var = powershell returnStdout: true, script: """ 
     get-blah -argb sdf -argc ssss` 
     -argd wwwww -arge iiiiii 
     """ 
var = var.trim() 

Je fais cela parce que cela ne fonctionne pas:

def var = powershell returnStdout: true, script: """ 
     get-blah -argb sdf -argc ssss` 
     -argd wwwww -arge iiiiii 
     """.trim() 

ni ce que cela semble fonctionner:

def var = (powershell returnStdout: true, script: """ 
     get-blah -argb sdf -argc ssss` 
     -argd wwwww -arge iiiiii 
     """).trim() 

Existe-t-il un moyen de réduire la valeur de retour en réaffectant le var? Cette question ne concerne pas cette méthode/fonction spécifique, juste une question générale sur la façon de le faire avec groovy ou si c'est possible.

Répondre

1

Avez-vous essayé:

def var = powershell(returnStdout: true, script: """ 
     get-blah -argb sdf -argc ssss` 
     -argd wwwww -arge iiiiii 
     """).trim() 

?

+0

oui cela fonctionne. Pourriez-vous expliquer cela? Pourquoi ne pas '(powershell returnStdout: ..' travail? Désolé, Im essayant toujours d'envelopper ma tête autour des structures groovy – red888

+0

@ red888 Je pense que cela devrait fonctionner aussi bien que vous appelez trim() dans l'ensemble enveloppé avec la fonction de parenthèses Ce que je peux vous dire, c'est que vous avez besoin d'un peu plus d'expérience pour savoir quand et quand ne pas l'utiliser.Vous pouvez enregistrer un bug et obtenir les détails. – Opal