¿Cómo puedo generar números aleatorios usando Dart?¿Cómo puedo generar números aleatorios en Dart?
Respuesta
Uso Random
clase de dart:math
:
import 'dart:math';
main() {
var rng = new Random();
for (var i = 0; i < 10; i++) {
print(rng.nextInt(100));
}
}
Este código se probó con el dardo VM y dart2js, a partir del momento de escribir esto.
Hola @Seth Ladd ... descargué dart de http://www.dartlang.org/downloads.html hace unos minutos y #import ('dart: math'); da un mensaje "no se puede encontrar la fuente referenciada" ... Me falta algo – Aaron
Le conviene leer '/ dev/urandom' con la clase' File' si quiere números aleatorios criptográficamente fuertes. – Tower
¿Qué hay de los números aleatorios negativos (dobles)? Estoy tratando de implementar un método randomRange que genere, por ejemplo, de -0.8 a 0.9 ... el resultado sería, por ejemplo, -0.32 –
Si necesita números aleatorios criptográficamente seguras (por ejemplo, para el cifrado), y estás en un navegador, se puede utilizar el DOM cryptography API:
int random() {
final ary = new Int32Array(1);
window.crypto.getRandomValues(ary);
return ary[0];
}
Esto funciona en Dartium, Chrome y Firefox , pero probablemente no en otros navegadores ya que esta es una API experimental.
Una solución alternativa podría estar utilizando el siguiente código DRandom. Esta clase debe usarse con una semilla. Proporciona una interfaz familiar de lo que cabría esperar en .NET, fue portada desde Random.cs de mono. Este código puede no ser criptográfico seguro y no ha sido probado estadísticamente.
He usado DRandom antes. ¡Buena lib! –
uso de esta biblioteca http://dart.googlecode.com/svn/branches/bleeding_edge/dart/lib/math/random.dart proporciona un buen generador de números aleatorios, que creo que será incluido en el SDK de pronto creo que sirve
Esto ahora está en el SDK. Vea mi respuesta más arriba para saber cómo usarla. –
acabo de escribir esta pequeña clase para generar normales Los números aleatorios ... fue una partida decente punto para la verificación que tengo que hacer. (Estos conjuntos se distribuirán en una curva con forma de "campana" ). La semilla se establecerá aleatoriamente, pero si desea poder regenerar un conjunto, puede pasar una semilla específica y generar el mismo conjunto.
Divertirse ...
class RandomNormal {
num _min, _max, _sum;
int _nEle, _seed, _hLim;
Random _random;
List _rNAr;
//getter
List get randomNumberAr => _rNAr;
num _randomN() {
int r0 = _random.nextInt(_hLim);
int r1 = _random.nextInt(_hLim);
int r2 = _random.nextInt(_hLim);
int r3 = _random.nextInt(_hLim);
num rslt = _min + (r0 + r1 + r2 + r3)/4000.0; //Add the OS back in...
_sum += rslt; //#DEBUG ONLY
return(rslt);
}
RandomNormal(this._nEle, this._min, this._max, [this._seed = null]) {
if (_seed == null) {
Random r = new Random();
_seed = r.nextInt(1000);
}
_hLim = (_max - _min).ceil() * 1000;
_random = new Random(_seed);
_rNAr = [];
_sum = 0;//#DEBUG ONLY
h2("RandomNormal with k: ${_nEle}, Seed: ${_seed}, Min: ${_min}, Max: ${_max}");//#DEBUG ONLY
for(int n = 0; n < _nEle; n++){
num randomN = _randomN();
//p("randomN = ${randomN}");
LIST_add(_rNAr, randomN);
}
h3("Mean = ${_sum/_nEle}");//#DEBUG ONLY
}
}
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
new RandomNormal(1000, 80, 120);
a continuación, puedes utilizar de esta manera para comprobar la media de conjuntos de 1000 nums generadas entre un límite bajo y alto. Los valores se almacenan en la clase para que se pueda acceder a ellos luego de la instanciación.
_swarmii
He aquí un fragmento para generar una lista de números aleatorios
import 'dart:math';
main() {
var rng = new Random();
var l = new List.generate(12, (_) => rng.nextInt(100));
}
Esto generará una lista de 12 números enteros de 0 a 99 (inclusive).
A API aleatorio seguro se agregó a dart:math
new Random.secure()
dart:math
Random
añadió un constructorsecure
devolver un generador aleatorio criptográficamente seguro que lee desde la fuente de entropía proporcionada por el embedder para cada generada valor aleatorio
que los delegados a window.crypto.getRandomValues()
en el navegador y el sistema operativo (como urandom
en el servidor)
Esta nueva API está disponible en 1.14-dev o superior. –
- 1. ¿Cómo puedo generar números aleatorios en Python?
- 2. Cómo generar números aleatorios erróneos
- 3. Cómo generar manualmente números aleatorios
- 4. ¿Cómo puedo generar números aleatorios en el iPhone?
- 5. ¿Cómo puedo generar números aleatorios en Unqiue C#
- 6. ¿Cómo generar números aleatorios en paralelo?
- 7. ¿Cómo puedo generar números aleatorios sin la función rand()?
- 8. Cómo generar números aleatorios grandes C
- 9. ¿Cómo generar números "aleatorios" pero también "únicos"?
- 10. ¿Cómo generar una lista de números aleatorios?
- 11. generar números dobles aleatorios en C++
- 12. Generar "en rango" números aleatorios en C
- 13. Generar números aleatorios criptográficamente seguros en php
- 14. Generar números aleatorios según las distribuciones
- 15. Generar números aleatorios distribuidos por Zipf
- 16. ¿cómo puedo usar números aleatorios en Groovy?
- 17. Generar números aleatorios con distribución probabilística
- 18. ¿Cómo generar diferentes números aleatorios en un bucle en C++?
- 19. Números aleatorios y negativos
- 20. Números aleatorios en C
- 21. números aleatorios en Java
- 22. Números aleatorios en un rango
- 23. Cómo generar una secuencia de números aleatorios repetibles?
- 24. Generar números aleatorios de -n a n en C
- 25. generar números aleatorios correlacionados de distribuciones binomiales en I
- 26. Generar números aleatorios de forma segura en Objective-C
- 27. Generando Números Aleatorios en Go
- 28. c - generador de números aleatorios
- 29. ¿Cómo 'aleatorizar()' números aleatorios en C (Linux)?
- 30. Generar un conjunto de números aleatorios únicos en Java
¿Cómo sabe que son malos números? Lo aleatorio es que nunca se puede decir realmente ... http://i46.tinypic.com/2vw7237.gif – corsiKa
Créeme, sabrías que son malas si usaste darrt: core Math. :) Este es el error: http://code.google.com/p/dart/issues/detail?id=499 –
Si quieres saber si tus números aleatorios son malos, utiliza mi biblioteca ChiSquare para averiguar: https: //github.com/kaisellgren/ChiSquare –