
Ranges
By:
fatimacasau on
Feb 5th, 2012 | syntax:
Groovy | size: 1.26 KB | hits: 174 | expires: Never
// Rango inclusivo
def range = 5..8
assert range.size() == 4
assert range.get(2) == 7
assert range[2] == 7
assert range instanceof java.util.List
assert range.contains(5)
assert range.contains(8)
// Rango abierto (excepto el último)
range = 5..<8
assert range.size() == 3
assert range.get(2) == 7
assert range[2] == 7
assert range instanceof java.util.List
assert range.contains(5)
assert ! range.contains(8)
// obtener los elementos de extremo de un rango sin utilizar índices
range = 1..10
assert range.from == 1
assert range.to == 10
// Rangos pueden ser utilizados por objetos que implementen java.lang.Comparable, como por ejemplo, Strings
range = 'a'..'d'
assert range.size() == 4
assert range.get(2) == 'c'
assert range[2] == 'c'
assert range instanceof java.util.List
assert range.contains('a')
assert range.contains('d')
assert ! range.contains('e')
// Iterar sobre rangos
def list = []
(1..10).each { i ->
list << "${i}"
}
println list.join(", ")
// Rangos en las condiciones de un SWITCH
def years = 2
def interestRate = 0
switch (years) {
case 1..10: interestRate = 0.076;
break;
case 11..25: interestRate = 0.052;
break;
default: interestRate = 0.037;
}
println interestRate