【问题标题】:Object pythagorean is not a member of package com - Scala programming error毕达哥拉斯对象不是 com 包的成员 - Scala 编程错误
【发布时间】:2016-06-20 22:53:01
【问题描述】:

我正在学习 Atomic Sc​​ala 2.0,学习 Scala。我正在尝试自己创建一个包并尝试在我的程序中使用它。这是创建我的包的代码:

package com.atomicscala.pythagorean

class RightTriangle {
    def hypotenuse(a:Double, b:Double):Double={
        math.sqrt(a*a + b*b)
    }
    def area(a:Double, b:Double):Double={
        a*b/2
    }
}

这是我的程序:

import com.atomicscala.pythagorean._

object test{
    def main(args:Array[String])={
        val rt = new RightTriangle
        println(rt.hypotenuse(3,4))
    }
}

当我在编译包后尝试运行我的程序时,我收到如下错误:

错误:对象 pythagorean 不是 com.atomicscala 包的成员

相反,如果我将包命名为 pythogorean,则代码可以正常工作。这是什么原因造成的?

【问题讨论】:

    标签: scala package


    【解决方案1】:

    用拼写正确的包试试:

    你有:

    package com.atmoicscala.pythagorean

    应该是

    package com.atomicscala.pythagorean

    【讨论】:

    • 对不起,这只是一个错字。在程序中拼写正确。
    【解决方案2】:

    我能够通过在 Scala 命令中提及 Classpath 来解决它。

    scala 文件名 -classpath 。 (如果包在当前工作 目录)

    scala 文件名-classpath PackageLocation

    【讨论】:

      【解决方案3】:

      根本原因在于“fsc”,当类路径更改时,fsc 将重置。 您可以通过执行以下显式重置它

      fsc -重置

      那么你不需要在你的 scala 命令中包含 -classpath 。 注意:我不确定这是否是一个好习惯。

      另一种方法是在不使用 fsc 离线编译器的情况下运行 scala 命令

      scala -nc 文件名

      【讨论】:

        猜你喜欢
        • 2020-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多