non*_*com 1 import scala scala-ide
我正在开发一个小型Scala项目.我对'import'有以下问题:
如果,在我的一个文件的顶部,我用这些命令导入两件事:
import main.Main._
import main.game.Game
^^^^
Run Code Online (Sandbox Code Playgroud)
它在带下划线的'main'单词中给出了以下错误消息:"对象Main中方法main的缺少参数;如果要将其视为部分应用函数,则使用`_'跟随此方法"这很奇怪,尤其是这只是一个进口声明.当然没有实际的进口发生.起初我再次考虑了分号推理的怪癖但事实并非如此.如果我交换两行并写如下:
import main.game.Game
import main.Main._
Run Code Online (Sandbox Code Playgroud)
每个人都很好.
任何人都可以对此有所了解吗?Scala有什么特别之处吗?
想必你有一个main方法object Main.所以之后import main.Main._ main指的是这个方法而不是main包.您可以通过以下几种方式避免它:
main像Daniel C. Sobral的回答所暗示的那样导入方法.明确地说你想要顶级main包:
import _root_.main.game.Game
Run Code Online (Sandbox Code Playgroud)遵循正常的Java包命名约定应该在大多数情况下避免此问题,因为您不太可能调用成员(或子包)com或org(虽然net可能是一个问题).
你有一个main内部命名的方法main.Main,不是吗?好吧,既然你导了它,它现在已经用名字遮蔽了包main.您可以尝试以确认:
import main.Main.{main => _, _}
import main.game.Game
Run Code Online (Sandbox Code Playgroud)
这将被排除main在导入之外.
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |