Tuesday, January 22, 2013

Tutorial Grails #3

Tutorial ini lanjutan dari sebelumnya, dimana kita akan membahas tentang groovy lebih dalam. Disini kita akan membahas tentang :
  • Groovy Shell dan Groovy Console
  • Method dan closure
  • Collection di Groovy

Groovy Shell dan Groovy Console

Groovy Shell ataupun Groovy Console adalah interactive command line yang digunakan untuk menjalan perintah-perintah groovy. Mulai dari create, save ataupun load groovy script.
Groovy Shell
Cara menjalankan cukup ketikkan groovysh di command line.
Groovy Console
Cara menjalankan Groovy Console juga cukup mudah, sama seperti Groovy Shell. Cukup ketikkan groovyConsole. Untuk pemula disarankan menggunakan Groovy Console dibandingkan Groovy Shell.

Method dan Closure

Di java kita mengenal method sedangkan di groovy kita mengenal closure. Mari kita lihat perbedaannya :

Method in Java way
public String hello(String name) {
   return "Hello, " + name;
}
      

Method in Groovy way
def hello(name) {
   "Hello, ${name}"
}
      

Closure
def name = "Chris"
def printClosure = { println "Hello, ${name}" }

printClosure()

name = "Joseph"
printClosure()
      

Jadi perbedaannya method dengan closure adalah closure adalah object sedangkan method tidak.

Collection di Groovy

Collection berlaku juga di groovy, seperti :
  • List
  • Ranges
  • Sets
  • Arrays
  • Maps
Disini kita akan membahas Range Collection saja, karena range begitu mudah. Mari kita lihat contoh penggunaan range di groovy
def numRange = 0..9
println numRange.size()
numRange.each {print it}
println ""
println numRange.contains(5)

def alphaRange = 'a'..'z'
println alphaRange.size()
println alphaRange[1]

def reverseRange = 9..0
reverseRange.each {print it}


Sedangkan penggunaan range dalam pengulangan, seperti ini
println "Java style for loop"
for(int i=0;i<=9;i++) {
   println i
}

println "Groovy style for loop"
for (i in 0..9) {
   println i
}

println "Groovy range loop"
(0..9).each { i->
   println i
}
      

Jadi range adalah daftar uturan nilai. Range di implement dari java.lang.Comparable.

Banyak hal yang baru di groovy yang tidak bisa dituangkan disini. Next, kita akan membahas groovy lebih banyak lagi sebelum kita masuk ke grails.

No comments:

Post a Comment