2017-05-24 46 views
0

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

例如:

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

可以請你讓我知道我可以在Scala中實現這一目標?

+0

什麼是List的類型?它是一個Int,String等列表嗎? –

+0

這可以是任何類型,字符串,int,double。我需要一個通用的解決方案,我可以申請所有類型的清單 – Rajarshi

+1

這是你應該做的。 val list:List [T]; list.foreach(x => var a = x;/*一些操作* /) –

回答

1

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

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

1)您可以使用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) }) 

注意

What is the difference between a var and val definition in Scala?