使用标准小部件工具包(SWT)时,我通常使用这样的东西来定义我的GridLayout:
layout.marginTop = layout.marginBottom =
layout.marginLeft = layout.marginRight =
layout.horizontalSpacing = layout.verticalSpacing = 20
Run Code Online (Sandbox Code Playgroud)
它适用于java但不适用于scala.它给了我type mismatch; Found: Unit Required: Int.
那怎么解决呢?
您不能在scala中的一行中执行此操作,因为赋值表达式的结果类型(例如a = b)是Unit.你必须有6个单独的电话:
layout.marginTop = 20
layout.marginBottom = 20
... etc
Run Code Online (Sandbox Code Playgroud)
为什么赋值的结果类型Unit和nmot指定的值?我认为这是出于性能原因而选择的,如本问题所述.
val a, b, c = X
Run Code Online (Sandbox Code Playgroud)