Kotlin扩展属性在Kotlin脚本中不起作用

var StringBuilder.lastChar: Char get() = get(length - 1) set(value: Char) { this.setCharAt(length - 1, value) } val sb = StringBuilder("Kotlin?") sb.lastChar = '!' println(sb) 

当我用kotlinc -script运行这段代码时,编译器会抛出:

 extensions.kts:3:14: error: unexpected type specification set(value: Char) { 

但是,编译时这段代码没有问题。 那么,这是否意味着扩展属性不能在kotlin脚本模式下工作?

Kotlin脚本只是在主函数中包装代码。 扩展属性在函数内部定义时不起作用。 我认为这是错误,你可以在这里提交: https : //youtrack.jetbrains.com/issues/KT 。