Uso de métodos como clausuras

generaciondecodigos@nereida:~/Lgroovy/closures$ cat -n closure2.groovy
     1  #!/usr/bin/env groovy
     2  class Example {
     3    def limit
     4
     5    Example(limit) {
     6      this.limit = limit
     7    }
     8
     9    boolean validate(value) {
    10      value.length() <= limit
    11    }
    12  }
    13
    14  first = new Example(6)
    15  second = new Example(5)
    16
    17  firstClosure = first.&validate
    18
    19  words = ['long string', 'medium', 'short', 'tiny']
    20
    21  println words.find(firstClosure)
    22  println words.find(second.&validate)

Ejecución:

generaciondecodigos@nereida:~/Lgroovy/closures$ ./closure2.groovy
medium
short

La construcción de clausuras a partir de métodos se limita a métodos de objeto (instance methods).



Casiano Rodríguez León
2010-04-30