Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
== パッケージオブジェクトが無い場合(2.7まで) == |
== パッケージオブジェクトの簡単な利用方法 == === パッケージオブジェクトが無い場合(2.7まで) === |
Line 25: | Line 27: |
== パッケージオブジェクトを使うと == |
=== パッケージオブジェクトのある場合(2.8以降) === あたかもパッケージに直接記述できるかのようになる。 {{{ package object foo { type MOJI = String val SomeString = "hello world" } ... ... import foo._ object Sample { def main(args: Array[String]) { val a:MOJI = "Greeting:" println(a + SomeString) } } }}} importする場合は、もはやクラス(オブジェクト)を指定する必要はなく、「import foo._」でよい。 |
パッケージオブジェクト
パッケージオブジェクトの簡単な利用方法
パッケージオブジェクトが無い場合(2.7まで)
すべてをクラス(オブジェクト)の中で定義するしかない。
package foo object Foo { type MOJI = String val SomeString = "hello world" } .... .... import foo.Foo._ object Sample { def main(args: Array[String]) { val a:MOJI = "Greeting:" println(a + SomeString) } }
上例では、例えばStringのエイリアスとしてMOJIを使いたいのだが、それはFooというオブジェクトの中に定義し、それを「import foo.Foo._」としてから使うしかない。
パッケージオブジェクトのある場合(2.8以降)
あたかもパッケージに直接記述できるかのようになる。
package object foo { type MOJI = String val SomeString = "hello world" } ... ... import foo._ object Sample { def main(args: Array[String]) { val a:MOJI = "Greeting:" println(a + SomeString) } }
importする場合は、もはやクラス(オブジェクト)を指定する必要はなく、「import foo._」でよい。