tabla numeros mil generar escoger decimales datos con como celda aleatorios aleatoriamente scala scala-2.8

scala - numeros - generar datos aleatorios



¿Cómo elegir un elemento aleatorio de una matriz en Scala? (5)

import scala.util.Random val A = Array("please", "help", "me") Random.shuffle(A.toList).head

Por ejemplo, hay una matriz Scala val A = Array("please", "help", "me") . ¿Cómo elegir un elemento aleatorio de esta matriz?


import scala.util.Random val A = List(1, 2, 3, 4, 5, 6) A(Random.nextInt(A.size))


import java.util.Random // ... val rand = new Random(System.currentTimeMillis()) val random_index = rand.nextInt(A.length) val result = A(random_index)


Una mejor respuesta que no implica reorganizar la matriz en absoluto sería esta:

import scala.util.Random object sample { //gets random element from array def arr[T](items:Array[T]):T = { items(Random.nextInt(items.length)) } }

Esto también funciona genéricamente


También podemos agregar algo de seguridad con la mónada Option (utilizando la función de lift y una condición)

En realidad, si usa esta función en Arrays (que podría estar vacía), su resultado siempre será una Opción.

Transparencia Referencial FTW / o /

def getRandElemO[T](arr: Array[T]): Option[T] = if (arr.isEmpty) None else arr lift util.Random.nextInt(arr.length)