2017-05-24 4 views
0

私はスカラを学んでいますが、簡単な問題で立ち往生しました。 foreachループを使って変数に値を代入したかったのです。例えばスカラforeachループの値を割り当てます

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

あなたは私が私がScalaでこれを実現する方法を教えてくださいできますか?

+0

? Int、Stringなどのリストですか? –

+0

これは任意の型、文字列、int、doubleになります。私はリストのすべてのタイプに適用できる汎用的なソリューションが必要です – Rajarshi

+1

これはあなたがすべきことです。リスト:リスト[T]; list.foreach(x => var a = x;/* some operation * /) –

答えて

1

これは、リストに対してforeach操作を実行する適切な方法です。あなたがそれを処理したいと何か他のもののリストをしたい場合は、list.mapを使用することができます

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

1)バックだけで数学の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?

関連する問題