🐋
scalaのimportエラー
事象
Pointクラスをimportをしようとしたところ下記のエラーが発生した。
1 |import point.Point
| ^^^^^
| value Point is not a member of point
エラー発生時の状態
ディレクトリ構成
src/
└── main/
├── point/
│ └── Point.scala
└── Main.scala
コード
Main.scala
import point.Point
object Main {
def main(args: Array[String]): Unit = {
val p1: Point = new Point(10, 10)
println(p1)
}
}
Point.scala
package point
class Point(val x: Int, val y: Int) {
def distance(that: Point): Int = {
val xdiff = math.abs(this.x - that.x)
val ydiff = math.abs(this.y - that.y)
math.sqrt(xdiff * xdiff + ydiff * ydiff).toInt
}
def +(that: Point): Point =
new Point(x + that.x, y + that.y)
}
実行コマンド
scalac Main.scala
原因
Main.scala
のコンパイル前にPoint.scala
をコンパイルしていなかったため。
下記のようにPoint.scala
をコンパイルしてclassファイルを作成した後にMain.scala
をコンパイルしたところ正常にコンパイルできた。
scalac point/Point.scala
scalac Main.scala
Discussion