这个groovy语法如何转换为kotlin?

时间:2015-07-16 11:54:49

标签: groovy gradle kotlin

我在Kotlin创建了一个简单的问候语任务。

就像gradle documentation中的那个。

现在我在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

它究竟代表什么?它如何转化为Kotlin?

2 个答案:

答案 0 :(得分:3)

Thx to Opal引导我找到解决方案。

除了他的回答,还有kotlin版本的测试:

class MyVector {
public:
   virtual ~MyVector();
...
};

class MyVector1D : public MyVector {
};

class MyVector2D : public MyVector {
};

// usage
std::unique_ptr<MyVector> vector = myBool ? std::make_unique<MyVector1D>() 
                                          : std::make_unique<MyVector2D>();

myFn( vector );

答案 1 :(得分:2)

查看docstask方法需要StringMap问候语String类型的实例:GreetingTask 是一个命名参数,转换为Map的实例。所以你应该传递一个Map作为第二个arg。不幸的是,不知道如何在kotlin中声明MapThis方法可能会有所帮助。