オブジェクトの定義
scala> object Simple
defined module Simple
scala> new Simple
<console>:6: error: not found: type Simple
new Simple
^
scala> object OneMethod {
| def myMethod() = "only one"
| }
defined module OneMethod
scala> OneMethod.myMethod
res1: java.lang.String = only one
scala> object Dude extends Yep
defined module Dude
scala> Dude.myMethod
<console>:11: error: value myMethod is not a member of object Dude
Dude.myMethod
^
scala> Dude.myhello
<console>:11: error: value myhello is not a member of object Dude
Dude.myhello
^
scala> Dude.hello
res4: Int = 4
scala> Dude.meow
res5: String = Meeeeeeeeeeow
scala> object Dude2 extends Yep {
| override def meow() = "Dude looks like a cat"
| }
defined module Dude2
scala> Dude2.meow
res6: java.lang.String = Dude looks like a cat
scala> object OtherDude extends Yep {
| def twoMeows(parm: Yep) = meow + ", " + parm.meow
| }
defined module OtherDude
scala> OtherDude.meow
res7: String = Meeeeeeeeeeow
scala> OtherDude.twoMeows(Dude)
res8: java.lang.String = Meeeeeeeeeeow, Meeeeeeeeeeow
scala> OtherDude.twoMeows(Dude2)
res9: java.lang.String = Meeeeeeeeeeow, Dude looks like a cat
scala> class HasYep {
| object myYep extends Yep {
| override def meow = "Moof"
| }
| }
defined class HasYep
scala> (new HasYep).myYep.meow
res10: java.lang.String = Moof
scala> class HasClass {
| private class MyDude extends FuzzyCat
| def makeOne(): FuzzyCat = new MyDude
| }
defined class HasClass
scala> (new HasClass).makeOne.meow
res11: String = Meeeeeeeeeeow
scala> object Moose {
| def bark = "Woof"
| }
defined module Moose
scala> import Moose._
import Moose._
scala> bark
res12: java.lang.String = Woof