Advertisement
Guest User

Untitled

a guest
Apr 25th, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.47 KB | None | 0 0
  1. trait Parser{
  2. def parse(i: Int):String
  3. }
  4. object ParserA extends Parser{
  5. override def parse(i: Int): String = s"A: $i"
  6. }
  7. object ParserB extends Parser{
  8. override def parse(i: Int): String = s"B: $i"
  9. }
  10.  
  11.  
  12. case class CurriedClass(parser: Parser)(y: Int) {
  13. def show = parser.parse(y)
  14. }
  15.  
  16.  
  17. val extendedClassA = CurriedClass(ParserA) _
  18. val extendedClassB = CurriedClass(ParserB) _
  19.  
  20. val n = extendedClassA(3)
  21. val m = extendedClassA(5)
  22. val o = extendedClassB(2)
  23.  
  24. n.show
  25. m.show
  26. o.show
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement