簡體   English   中英

在scala foreach循環中分配值

[英]assign value in scala foreach loop

我正在學習scala,但陷入了一個簡單的問題。 我想使用foreach循環為變量分配一個值。

例如:

List A
foreach x in A { variable b = x; => then some operation => print result}

您能告訴我如何在Scala中實現這一目標嗎?

1)如果要處理.map並希望返回其他list則可以在list上使用.map (就像在數學f:A => B中一樣)

輸入集

scala> val initialOrders = List("order1", "order2", "order3")
initialOrders: List[String] = List(order1, order2, order3)

功能

scala> def shipOrder(order: Any) = order + " is shipped"
shipOrder: (order: Any)String

處理輸入集並存儲輸出

scala> val shippedOrders = initialOrders.map(order => { val myorder = "my" + order; println(s"shipping is ${myorder}");  shipOrder(myorder) })
shipping is myorder1
shipping is myorder2
shipping is myorder3
shippedOrders: List[String] = List(myorder1 is shipped, myorder2 is shipped, myorder3 is shipped)

2)或者,當您不關心函數的輸出時,也可以簡單地使用列表中的foreach進行迭代。

scala> initialOrders.foreach(order => { val whateverVariable = order+ "-whatever";  shipOrder(order) })

注意

Scala中的var和val定義有什么區別?

這是在列表上運行foreach操作的正確方法。

val list: List[T] = /* list definition */
list foreach { x => var a = x; /* some operation */ }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM