грааль макет для закрытия странности - PullRequest
7 голосов
/ 27 мая 2010

Правильно,

, поэтому, когда я настраиваю макет, используя метод mockFor тестового плагина, я ожидаю метод, который возвращает ноль.Если я сделаю

myControl.demand.theMethod {return null}

в отладчике, то значение, которое я установлю для результата вызова theMethod, будет некоторым закрытием в отладчике.

Если я сделаю

myControl.demand.theMethod {->return null}

значение равно нулю, как и ожидалось.

Я не понимаю разницу ....

1 Ответ

9 голосов
/ 27 мая 2010

Я надеюсь, что это слово правильно

В отличной документации http://groovy.codehaus.org/Closures говорится, что «Закрытие без ->, то есть {}, является Закрытием с одним аргументом, который неявно назван« it »». .... "В некоторых случаях вам необходимо создать Closure с нулевыми аргументами, например, используя GString для шаблонов, определения свойства EMC и т. Д. Вы должны явно определить ваше Closure как {->} вместо {}"

По сути, ваша издевка пыталась использовать 'return' в качестве аргумента. Вам нужно -> сказать «У меня нет параметров для передачи», а затем поместить то, что вы хотите, чтобы оно возвращалось справа от стрелки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...