fork download
  1. trait Greeter {
  2. def apply(name: String): String
  3. }
  4.  
  5. object HelloGreeter extends Greeter {
  6. def apply(name: String) = s"Hello, $name!"
  7. }
  8.  
  9. trait Printer {
  10. def greeter: Greeter
  11.  
  12. def apply(name: String) = println(greeter(name))
  13. }
  14.  
  15. object Main extends App {
  16. val printer = new Printer { def greeter = HelloGreeter }
  17. printer("rightfold")
  18. }
Success #stdin #stdout 0.4s 383040KB
stdin
Standard input is empty
stdout
Hello, rightfold!