fork download
  1.  
  2. object Main {
  3. case class MyBoolean(v: Boolean) {
  4. println("MyBoolean")
  5.  
  6. def &&(o: MyBoolean) = v && o.v
  7. }
  8.  
  9. case class MyLazyBoolean(v: Boolean) {
  10. println("MyLazyBoolean")
  11.  
  12. def &&(o: => MyLazyBoolean) = v && o.v
  13. }
  14.  
  15. def main(args: Array[String]) {
  16. println(MyBoolean(true) && MyBoolean(true))
  17. println(MyBoolean(false) && MyBoolean(true))
  18.  
  19. println(MyLazyBoolean(true) && MyLazyBoolean(true))
  20. println(MyLazyBoolean(false) && MyLazyBoolean(true))
  21. }
  22. }
  23.  
Success #stdin #stdout 0.24s 247424KB
stdin
stdout
MyBoolean
MyBoolean
true
MyBoolean
MyBoolean
false
MyLazyBoolean
MyLazyBoolean
true
MyLazyBoolean
false