scala:无法从根范围导入对象

ope*_*sas 9 import scala packages

我有以下代码:(src/main/scala/coins/coins.scala)

object Main extends App { 

  def countChange(money: Int, coins: List[Int]): Int = {
  [...]
Run Code Online (Sandbox Code Playgroud)

我试图从这样的测试中引用它:(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") {
  [...]
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

找不到:值Main [error] import Main.countChange

但另一方面,从一个sbt控制台它工作正常

如果我在主文件中声明任何包,比如

package x

object Main extends App { 
  Console.println("Hello World!")
Run Code Online (Sandbox Code Playgroud)

然后我可以正确地发出import x.Main.countChange

root包或者我不知道的单例对象可见性是否存在限制?

- 添加

只是为了完成答案,SO上有几个有用的链接

/sf/answers/142111161/

/sf/answers/687554871/

/sf/answers/687555921/

Rex*_*err 10

Java(和Scala根据相同的惯例)对于在未命名的包中导入内容非常容易,这与根包不同.放入Main包裹.

如果它位于单独的源文件中,请参阅为什么我的对象不是包<root>的成员?