2017-12-28 1 views
1
(1 until Dimensions).foreach(x=>(x,r.nextInt)) 

Ich möchte die Verwendung von for-Schleifen vermeiden. was ich will, ist eine eine Liste, so dass List [(Int, Int)] und Werte sollte so sein, dass:Verwendung von 'bis' mit 'foreach()' in Scala, um Schleifen zu vermeiden

List((1,9),(2,57),(3,78)) 

das erste Teilelement jedes Element den Index darstellt und das zweite Element stellt eine Zufallszahl. Das obige Stück Code gibt returning() ohne toList und mit toList gibt Fehler. was sollte ich tun?

Antwort

1

foreach gibt Unit (d. H. Nichts) zurück, so dass es nicht gültig ist, das zu tun. API

(1 until Dimensions).map(x=>(x,r.nextInt)) 

Aus der Liste: Sie sollten eine map verwenden

final def foreach(f: (A) ⇒ Unit): Unit

[Anwendungsfall] Gilt eine Funktion f auf alle Elemente dieser Liste.


final def map[B](f: (A) ⇒ B): List[B]

[Use Case] ​​Erstellt eine neue Kollektion von einer Funktion auf alle Elemente dieser Liste anwenden.

Verwandte Themen