所以我第一次尝试使用隐式参数和变量,这工作得很好
class Test(implicit val a: Int) {
bar(5)
def bar(c: Int)(implicit d: Int): Unit = {
println(d)
}
}
然后我尝试了一些更复杂的代码
class GameScreen(val game : Game)(implicit val batch: SpriteBatch, implicit val world: World, implicit val manager: AssetManager) extends Screen {
val camera : OrthographicCamera = new OrthographicCamera
createOpenGLStuff()
createMap()
def createMap(implicit w : World) : Unit =
{
}
但现在我得到了错误
- not enough arguments for method createMap: (implicit w:
com.badlogic.gdx.physics.box2d.World)Unit. Unspecified value parameter w.
我不知道为什么这不起作用,我可以写
createMap(this.world)
一切都很好,但是由于 this.world 是隐式的(我认为?)我不需要在那里指定它。我在这里做什么/理解错误?