Jump to content

Loop structures: Difference between revisions

no edit summary
(list comprehension)
No edit summary
Line 259:
error" Ran out of records looking for the right one!"
THEN
 
==[[Groovy]]==
[[Category:Groovy]]
 
===While Loops===
while (true) {
println 'groovy'
}
 
===For Loops===
<pre>
 
// iterate over a range
x = 0
for (i in 1..3) { x += i }
assert x == 6
 
// iterate over a list
x = 0
for (i in [1, 2, 3]) { x += i }
assert x == 6
 
// iterate over an array
x = 0
for (i in (1..3).toArray()) { x += i }
assert x == 6
 
// iterate over a map's key/value pairs
x = 0
for (i in map) { x += i.value }
assert x = 6
 
// iterate over a map's values
x = 0
for (i in map.values()) { x += i }
assert x == 6
 
// iterate over the characters in a string
text = 'abc'
list = []
for (c in text) { list.add(c) }
assert list == ['a', 'b', 'c']
</pre>
 
===Closures===
<pre>
def stringList = [ "java", "perl", "python", "ruby" ];
 
def stringMap = [ "Su" : "Sunday", "Mo" : "Monday", "Tu" : "Tuesday",
"We" : "Wednesday", "Th" : "Thursday", "Fr" : "Friday",
"Sa" : "Saturday" ];
 
stringList.each() { print " ${it}" }; println "";
// java perl python ruby
 
stringMap.each() { key, value -> println "${key} == ${value}" };
// Su == Sunday
// We == Wednesday
// Mo == Monday
// Sa == Saturday
// Th == Thursday
// Tu == Tuesday
// Fr == Friday
 
stringList.eachWithIndex() { obj, i -> println " ${i}: ${obj}" };
// 0: java
// 1: perl
// 2: python
// 3: ruby
 
stringMap.eachWithIndex() { obj, i -> println " ${i}: ${obj}" };
// 0: Su=Sunday
// 1: We=Wednesday
// 2: Mo=Monday
// 3: Sa=Saturday
// 4: Th=Thursday
// 5: Tu=Tuesday
// 6: Fr=Friday
</pre>
 
==[[IDL]]==
Cookies help us deliver our services. By using our services, you agree to our use of cookies.