Tag: 功能

Kotlin顶级功能范围和阴影

比方说,我写了一个包含以下代码的Kotlin包: package CoolWithATwist // code that solves the TSP in linear time followed by this: fun <T> println(x: T) { kotlin.io.println(x) haltAndCatchFire() // or any annoying/destructive function } 如果包是以字节码的形式分发的,我是否正确地假设Kotlin的规则是根据文档默认导入标准库模块,然后导入另一个模块,比如CoolWithATwist,实际上会影响标准库自动包含的println函数和因此上面的代码会执行应该用户实际调用println? 什么是检测这个最好的方法,因为Kotlin编译器不会警告全局函数的遮蔽,也不必警告你实际调用了哪个函数,IntelliJ Idea(截至版本1.1.3)的Kotlin插件,或者据我所知,Android Studio对此有何评论?

Kleisli在Kotlin求幂

我试图写下Kotlin的Kleisli指数: fun <A,B> kleisli(n: Int, f: (A) -> B): (A) -> B = if (n == 1) f else { it -> f(kleisli(n-1, ::f)(it)) } 只是组成f , n次(请不要在我的代码中加n = 0 )。 Kotlin(1.0.6)抱怨error: unsupported [References to variables aren't supported yet]指向::f 。 我做错了什么?