我尝试为 JavaScript 库编写类型安全的包装器。我需要使用可变参数(例如method(args...)
)从 JavaScript 调用方法。Kotlin 的乐趣也应该适用于可变参数。因为 Kotlin 支持扩展运算符,所以我尝试使用它,但 Kotlin 不想要这个。
示例代码:
val jsLibrary: dynamic = require("library") // library given by node's require here
fun method(vararg args: String) = jsLibrary.method(*args)
编辑:忘记在代码中编写扩展运算符“*”。由于展开运算符,编译器返回错误。
Kotlin 编译器返回错误“无法在动态调用中应用扩展运算符”。
任何想法如何实现这样的包装器,还是我需要任何解决方法?
谢谢你的帮助!