如何在飞镖中生成伪随机数
How to generate pseudo-random number in dart
我目前正在尝试在 dart 中的列表中随机选取一个项目。为此,我想生成一个伪随机数(我的种子),它将作为我要从列表中选择一个元素的索引。
首先,我想按照今天的日期生成种子:
import 'package:intl/intl.dart';
final String datePattern = 'yyyy-MM-dd';
final String todays_date = DateFormat(datePattern).format(DateTime.now());
并找到一种方法将其转换为整数(伪随机数),以便能够使用该整数作为索引从列表中选取一个项目。
这样,例如,对于 10 个打开 flutter 应用程序的用户,他们每天都会获得相同的列表元素。
List<String> dic = ['a','b','c','d','e','f','g','h','i','j']
var randomItem = (dic.toList()..shuffle()).elementAt(myPseudoRandomNumber);
我现在就如何获取上面显示的这个变量 'myPseudoRandomNumber' 向您寻求帮助。
非常感谢。
The default Random
constructor 创建一个可播种的 pseudo-random 数字生成器。文档表明实现 可以 跨 Dart 版本发生变化,但我的理解是这不会发生,也不是轻而易举的事情,因为它几乎肯定会破坏现有代码。
如果你想要更强的一致性保证(或者如果你需要一个跨语言或平台生成相同值的 PRNG),那么你需要使用特定的 PRNG 实现(例如 [=12 的实现) =]).
我目前正在尝试在 dart 中的列表中随机选取一个项目。为此,我想生成一个伪随机数(我的种子),它将作为我要从列表中选择一个元素的索引。
首先,我想按照今天的日期生成种子:
import 'package:intl/intl.dart';
final String datePattern = 'yyyy-MM-dd';
final String todays_date = DateFormat(datePattern).format(DateTime.now());
并找到一种方法将其转换为整数(伪随机数),以便能够使用该整数作为索引从列表中选取一个项目。
这样,例如,对于 10 个打开 flutter 应用程序的用户,他们每天都会获得相同的列表元素。
List<String> dic = ['a','b','c','d','e','f','g','h','i','j']
var randomItem = (dic.toList()..shuffle()).elementAt(myPseudoRandomNumber);
我现在就如何获取上面显示的这个变量 'myPseudoRandomNumber' 向您寻求帮助。
非常感谢。
The default Random
constructor 创建一个可播种的 pseudo-random 数字生成器。文档表明实现 可以 跨 Dart 版本发生变化,但我的理解是这不会发生,也不是轻而易举的事情,因为它几乎肯定会破坏现有代码。
如果你想要更强的一致性保证(或者如果你需要一个跨语言或平台生成相同值的 PRNG),那么你需要使用特定的 PRNG 实现(例如 [=12 的实现) =]).