相关疑难解决方法(0)

中缀符号和(...)不能像我预期的那样工作

请考虑以下场景:我有一个类Test

class Test() {
    infix fun say(msg: String) = println(msg)
}
Run Code Online (Sandbox Code Playgroud)

和一个主要方法

fun main(args: Array<String>) {
    val test = Test()

    test say "Hello World!" //Works

    with(test) {
        say "Goodbye World!" //Does not work
        say("Hello again!") //Works
    }
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我正在测试中缀表示法.考虑with(...)允许您使用在with块中作为参数传递的对象,而不必通过点表示法访问其成员,我希望中缀符号的工作方式与我在上面的示例中显示的一样.

不幸的是,这不起作用,这有什么原因不起作用?这是一个错误还是仅仅是一个限制?或者我可能没有with(...)正确地解释这个功能?

infix-notation kotlin

4
推荐指数
1
解决办法
561
查看次数

标签 统计

infix-notation ×1

kotlin ×1