Skip to content

Instantly share code, notes, and snippets.

View yossale's full-sized avatar
💭
I may be slow to respond.

Yossale yossale

💭
I may be slow to respond.
View GitHub Profile
//Every closure in groovy is executable, and technically, implements the "Callable" interface
def a = { println "hello!"}
a()
// --> hello
a.call()
// --> hello
def messageTo = { num ->
println(Thread.currentThread().name + " --> A message for you number $num")
}
def pool = Executors.newFixedThreadPool(10)
(1..1000).each { num ->
pool.submit({ messageTo(num) })
}
pool.awaitTermination(60, TimeUnit.SECONDS)
@yossale
yossale / FishScopeDemo.scala
Created April 20, 2011 20:42
Fish class that access other fish inner field
class Fish (var fishName: String){
private var myName = fishName
def name = myName
def name_= (newName: String) = myName = newName
def sayHello(otherFish : Fish) = println ("hello, " + otherFish.myName)
}
@yossale
yossale / FishWithJavaGetSet.scala
Created April 19, 2011 18:45
Fish class with Java-like getters and setters
class Fish {
private var name = "Default"
def getName = name
def setName(newName: String) = name = newName
}
@yossale
yossale / FishClassWithGetSet.scala
Created April 19, 2011 18:36
Basic Fish class wit only name attribute
class Fish {
private var myName = "Default"
def name = myName
def name_= (newName: String) = myName = newName
}