В долния пример метода взима closure, като втори параметър.
def getOddNumbers(n, closure) { for (int i=1; i<=n; i+=2) { println "in method ${closure(i)}" } }
Има много начини за синтаксис на invoke метод:
1)
getOddNumbers(10, { println it it })
closure е втори параметър преминъл към метод. Всичко което прави е да изведе число и да го върне. Сега ще видим и други начини
2)
getOddNumbers 10, { println it it }
Този синтаксис е същия като 1.Единствената разлика са скобите.
3)
getOddNumbers(10) { println it it }
Ако closure е последен параметър за метода. Тогава може да бъде подаден, като отделен блок .Това е много лесен начин за преминаване на closure в метод.
4)
printingClosure = { println it it }
getOddNumbers(10, printingClosure)
Можем да присвоим closure в променлива и да използваме това ,за нашия метод по късно в кода.
getOddNumbers 10, printingClosure ще работи също. Но getOddNumbers(10) printingClosure няма да работи.
Popularity: 1% [?]
No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.
RSS Feed
Twitter

декември 26th, 2009
admin
Posted in 

acomplia prescription 402 aciphex 785 retin a zumbp doxycycline 817635 accutane :-OOO