【发布时间】:2012-09-27 14:07:57
【问题描述】:
我有以下代码: (src/main/scala/coins/coins.scala)
object Main extends App {
def countChange(money: Int, coins: List[Int]): Int = {
[...]
我正在尝试从这样的测试中引用它: (src/test/scala/coins/CoinsSuite.scala)
package coins
import org.scalatest.FunSuite
class CoinsSuite extends FunSuite {
import Main.countChange
test("only onw way to pay $0") {
[...]
我收到以下错误:
未找到:值 Main [错误] 导入 Main.countChange
但另一方面,从 sbt 控制台它可以正常工作
如果我在主文件中声明任何包,比如
package x
object Main extends App {
Console.println("Hello World!")
然后我可以正确地发出 导入 x.Main.countChange
是否存在我不知道的根包或单例对象可见性限制?
--添加
只是为了完成答案,在 SO 上有几个有用的链接
https://stackoverflow.com/a/2030159/47633
【问题讨论】:
-
所以
Main在/coins目录中,但不在coins包中?顺便说一句,试试import _root_.Main.countChange。 -
我试过了:object Main is not a member of package
-
我尝试了几个选项,这就是为什么 Main 最终在 /coins 目录中,但据我所知,scala 中的包与目录结构无关......