Slide 57
Slide 57 text
GINQ – Groovy’s language integrated query
• Incubating status:
feedback welcome
def nums1 = [1, 2, 3]
def nums2 = [1, 2, 3]
assert [[2, 1], [3, 2], [4, 3]] == GQ {
from n1 in nums1
innerjoin n2 in nums2 on n1 == n2
select n1 + 1, n2
}.toList()
def numbers = [0, 1, 2, 3, 4, 5]
assert [2, 4, 6] == GQ {
from n in numbers
where n > 0 && n <= 3
select n * 2
}.toList()
def persons = [new Person('Linda', 100, 'Female’),
new Person('Daniel', 135, 'Male’),
new Person('David', 121, 'Male')]
assert [['Female', 1], ['Male', 2]] == GQ {
from p in persons
groupby p.gender
orderby count(p.name)
select p.gender, count(p.name)
}.toList()
from n in [0, 1, 2]
select n