当使用标准小部件工具包( SWT )时,我通常使用类似这样的东西来定义我的 GridLayout
:
layout.marginTop = layout.marginBottom =
layout.marginLeft = layout.marginRight =
layout.horizontalSpacing = layout.verticalSpacing = 20
它适用于java但不适用于scala。
它给了我
type mismatch; Found: Unit Required: Int
.那么如何解决呢?
最佳答案
你不能在 Scala 中的一行中做到这一点,因为赋值表达式的结果类型(例如 a = b
)是 Unit
.你必须有 6 个单独的调用:
layout.marginTop = 20
layout.marginBottom = 20
... etc
为什么赋值的结果类型是
Unit
和 nmot 分配的值?我相信这是出于性能原因选择的 as outlined in this question .有一个related question on assignment其中指出,在申报地点,可以通过:
val a, b, c = X
关于scala - 等号和类型不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6031175/