Итак, я впервые попытался работать с неявными параметрами и переменными, и это отлично работает
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 подразумевается (я думаю?), мне не нужно указывать его там. Что я делаю/понимаю здесь неправильно?