Q
等號和類型不匹配
4
A
回答
7
不能在階爲此在一個行中,因爲賦值表達式的結果類型(例如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
1
您必須分別編寫多個作業。正如編譯器所說,Scala中的一項任務返回Unit
,可以將其視爲Java的void
。
1
你可以做
def assign[A](a:A)(fs: (A => Unit)*) = fs.foreach(_(a))
val r = new java.awt.Rectangle
assign(20)(r.x=_, r.y=_, r.width=_, r.height=_)
但這不是單獨寫的一切顯然更糟。但至少你不必在Scala中鍵入「佈局」每次:
val rectangle = new java.awt.Rectangle
import rectangle._
x = 20
y = 20
width = 20
height = 20
相關問題
- 1. 泛型類型和類型不匹配
- 2. Java:等號不匹配
- 3. 類型不匹配
- 4. ORA-6504型號不匹配
- 5. 泛型類型不匹配
- 6. VBS類型不匹配錯誤800a000d類型不匹配:ReadFile的
- 7. 型號類型不匹配:不能從RegisterFragment轉換到碎片
- 8. 匹配文字等號
- 9. 不匹配的類型float64和int
- 10. 類型runSqlite和newTVar不匹配
- 11. Haskell的類型不匹配INT和[INT]
- 12. 去不匹配的類型UINT64和INT32
- 13. Jena和jsp不匹配類型
- 14. 類泛型的類型不匹配
- 15. 標籤類型:類型不匹配
- 16. 類型參數的類型不匹配
- 17. Scala中的匹配類型符號
- 18. VHDL類型不匹配
- 19. hector scala類型不匹配
- 20. 處理類型不匹配
- 21. Java類型不匹配?
- 22. 協會類型不匹配
- 23. 數據類型不匹配
- 24. 類型不匹配錯誤
- 25. 類型不匹配Network.Wai.Middleware
- 26. 反射類型不匹配
- 27. 類型不匹配錯誤
- 28. UNION類型不匹配
- 29. AS2 addCallback類型不匹配
- 30. 類型不匹配錯誤
......我想Scala是關於語法糖和「種類比較少,做多」的理念:/ – phineas 2011-05-17 13:17:14
@phineas如果你想在SWT中輸入更少的內容來做更多的事情,一定要查看Dave Orme的[XScalaWT](http://www.coconut-palm-software.com/the_new_visual_editor/doku.php?id=blog:simplifying_swt_with_scala)庫。 – 2011-05-17 13:19:30
@phineas - 這是Java可以更加簡潔的少數幾個領域之一。請注意,您給出的示例是一個相當糟糕的封裝情況,然而!這是一種代碼模式,我會立即將其視爲一種「氣味」 – 2011-05-17 13:20:48