这个groovy语法如何转换成kotlin?
我在Kotlin创建了一个简单的Greeting任务。
就像Gradle 文档中的一样 。
现在我添加一个简单的测试,看起来像这个在groovy:
class GreetingTaskTest { @Test public void canAddTaskToProject() { Project project = ProjectBuilder.builder().build() def task = project.task('greeting', type: GreetingTask) assertTrue(task instanceof GreetingTask) } }
我把这个翻译成了Kotlin,除了这一行中的一个单词:
def task = project.task('greeting', type: GreetingTask)
有问题的位是第二个参数。 键入:GreetingTask
它究竟代表什么,它如何转化为科特林?
看看文档 。 task
方法需要一个String
和一个Map
。 greeting是String
和Type的一个实例:GreetingTask是一个被转换为Map
实例的命名参数。 所以你应该通过一个Map
作为第二个参数。 不幸的是,不知道如何在kotlin中声明Map
。 这种方法可能会有所帮助。
Thx到蛋白石领导我的解决方案。
除了他在这里的答案是kotlin版本的测试:
class GreetingTaskTest { @Test public fun canAddTaskToProject() { val project = ProjectBuilder.builder().build() val task = project.task(mapOf("type" to GreetingTask::class.java), "greeting") assertTrue(task is GreetingTask) } }