Skip to content

Instantly share code, notes, and snippets.

@alinpopa
Created November 29, 2010 12:34
Show Gist options
  • Save alinpopa/719904 to your computer and use it in GitHub Desktop.
Save alinpopa/719904 to your computer and use it in GitHub Desktop.
import java.util.{Map,HashMap}
trait Fruct
case object Mar extends Fruct
case object Par extends Fruct
class Persoana {
private var numarDeFructe = 0
private var fructe = new HashMap[Fruct,Int]()
def are(numarDeFructe: Int): Persoana = {
this.numarDeFructe = numarDeFructe
this
}
def mere: Persoana = {
fructe.put(Mar, numarDeFructe)
numarDeFructe = 0
this
}
def numarDeFructe(fruct: Fruct) = fructe.get(fruct)
override def toString: String = fructe.toString
}
object Interogare {
class Interogare {
var fruct:Fruct = _
def cate(fruct: Fruct) = {
this.fruct = fruct
this
}
def are(cine: Persoana) = {
cine.numarDeFructe(fruct)
}
}
def apply(): Interogare = new Interogare
}
object AnaAreMere {
def main(args: Array[String]): Unit = {
val ana = new Persoana
val mere = Mar
(ana are 7 mere)
(ana are 2 mere)
println("Ana are: " + (Interogare() cate mere are ana) + " mere")
(ana are 3 mere)
println("Ana are: " + (Interogare() cate mere are ana) + " mere")
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment