正在試圖存儲值的Scala初學者在Scala foreach循環中獲得,但是失敗了。 基本foreach循環看起來像這樣目前:存儲從每個循環獲得的值Scala
order.orderList.foreach((x: OrderRef) => {
val references = x.ref}))
當運行這個foreach循環將執行兩次,每次都返回引用。我試圖捕獲它在每次運行時返回的參考值(因此兩個引用以列表或數組形式出現,因此我可以稍後訪問這些值)
我對如何去做這件事感到非常困惑。 ..
我試圖檢索和存儲值作爲一個數組,但運行時,數組列表似乎沒有任何值。
這是我的嘗試:
val newArray = Array(order.orderList.foreach((x: OrderRef) => {
val references = x.ref
}))
println(newArray)
任何建議,將不勝感激。如果有更好的方法來實現這一點,請分享。由於
謝謝,所以我不需要該局部變量,因爲數組將存儲結果?還有一種方法可以將數組中的值存儲到x個單獨的變量中嗎?我知道我可以使用索引訪問它們,但我期待未來證明它 – user610
您問「還有一種方法可以將數組中的值存儲到x個單獨的變量中嗎?」答案是不。你只能在你的代碼中一個接一個地做。 – talex
如果你知道數組的大小,它是固定的,那麼是的,你可以這樣做: 'val Array(foo,bar,baz)= order.orderList.map(_。x.ref)'(但是注意:只有當'order.orderList'是一個正好包含三個元素的'Array'時纔有效。 – Dima