Programming in Scala(Second Edition)読書ノート13 packages and import
651 ワード
現在、1つのパッケージで見られるトップレベルのオブジェクトはclass,trait,objectのみです.実際には、どのオブジェクトでもトップレベルにすることができます.すなわち,関数,value,variableなどをclass,trait,objectに制限する必要はない.これらは、パッケージ全体でグローバルであることができます.
方法は簡単で、これらをパッケージobjectに東に置けばいいです.pakcage objectの名前とパッケージ名は同じです
package objectを含むファイルはこのpackagの下に置かれ、名前はpackageと呼ばれます.scala
chapter13/package.scala
chapter13/Test.scala
object Testでは関数fが表示されます.
package objectの存在は,言語システム全体における関数の地位をさらに強化した.これにより、関数はオブジェクトに依存せず、オブジェクトの外でオブジェクトを操作できます.
方法は簡単で、これらをパッケージobjectに東に置けばいいです.pakcage objectの名前とパッケージ名は同じです
package objectを含むファイルはこのpackagの下に置かれ、名前はpackageと呼ばれます.scala
chapter13/package.scala
package object chapter13 {
def f(x : Int) = x * x
}
chapter13/Test.scala
package chapter13
object Test {
class C {
def g = f(_)
}
}
object Testでは関数fが表示されます.
package objectの存在は,言語システム全体における関数の地位をさらに強化した.これにより、関数はオブジェクトに依存せず、オブジェクトの外でオブジェクトを操作できます.