我想創建一個GridBagPanel.Constraints
的列表。我在scala編程書中讀到它,有一個很酷的for-yield
構造,但我可能還沒有理解它的正確工作方式,因爲我的代碼不能編譯。那就是:scala for yield設置值
val d = for {
i <- 0 until 4
j <- 0 until 4
} yield {
c = new Constraints
c.gridx = j
c.gridy = i
}
我想生成一個List[Constraints]
,併爲每一個約束設置不同的X,Y值,因此以後,當我後來添加的成分,他們要在一個網格。
您真正需要的是將一個普通的'c'作爲yield塊中的最後一個表達式。在Scala中,賦值語句的類型爲Unit(隱含'void'-ish),每個塊都有一個值,它是在其中執行的最後一個表達式的值。 – 2010-03-24 01:33:27
你應該將Daniel的答案標記爲正確的,而不是我的。正如他正確地指出2.7它包含一個錯誤。 – wheaties 2010-03-24 02:06:13