kotlin 中的函数式编程 - 分配函数

问题描述 投票:0回答:2

kotlin 中有一个

arrayOf
函数。我想以不同的名字拥有相同的东西。我试过:

val each = ::arrayOf<UUID>
val each = ::arrayOf
val each = ::<UUID>arrayOf
val each = arrayOf

我只收到编译错误。在科特林中可能吗?如何?或者我必须重复整个签名和调用?

syntax functional-programming kotlin
2个回答
3
投票

这不起作用,因为

arrayOf
是一个带有具体化类型参数的 内联函数 。无法将此具体化类型参数存储为函数引用的一部分,也无法在通过函数引用调用函数时传递它。

如果你想给这个函数起一个别名,你需要以不同的方式定义它:

inline fun <reified T> each(vararg x: T) = arrayOf(*x)

0
投票

我昨天看了这里介绍的主要基本概念,会有帮助https://softaai.com/function-programming-in-kotlin/

© www.soinside.com 2019 - 2024. All rights reserved.