- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 QuickCheck,我想创建一系列伪随机数 TimeOfDay
值。
创建特定的TimeOfDay
很容易:
now = TimeOfDay 17 35 22
使用 GHCi 8.6.5 打印此结果:
17:35:22
我认为使用 QuickCheck 创建 TimeOfDay
值所需的 Arbitrary
实例将是:
instance Arbitrary TimeOfDay where
arbitrary = do
hour <- elements [0 .. 23]
min <- elements [0 .. 59]
-- Going till 60 accounts for leap seconds
sec <- elements [0 .. 60]
return $ TimeOfDay hour min sec
尽管进行了类型检查,但运行以下行会挂起 GHCi,并在几秒钟后将 Killed
写入控制台:
sample (arbitrary :: Gen TimeOfDay)
问题在哪里?
最佳答案
正如您所发现的,todSeconds
的类型为 Pico
这是一个分辨率为 10-12 的定点数,因此这意味着 [0 .. 60]
有 6×1013+1 值。迭代整个列表很容易需要大约 1000 秒。
话虽如此,您首先不需要在此处使用 elements
。我们可以使用choose :: Random a => (a, a) -> Gen a
这将生成一个范围内的随机值(包括两个范围)。
然后我们可以将Arbitrary
定义为:
instance Arbitrary TimeOfDay where
arbitrary = TimeOfDay
<$> choose (0, 23)
<*> choose (0, 59)
<*> (fmap MkFixed (choose (0, 61*10^12-1)))
这给了我们:
Main> sample (arbitrary :: Gen TimeOfDay)
15:45:04.132804129488
11:06:12.447614162981
12:07:50.773642440667
04:40:47.966398431784
02:30:09.60931551059
00:51:46.564756092467
07:57:44.170698241052
02:45:57.743854623407
00:17:22.627238967351
13:03:57.364852826473
11:12:34.894890974241
如果您不需要这些皮秒,我们可以在 fmap
中进行乘法:
instance Arbitrary TimeOfDay where
arbitrary = TimeOfDay
<$> choose (0, 23)
<*> choose (0, 59)
<*> (fmap (MkFixed . (10^12 *)) (choose (0, 60)))
然后我们得到:
Main> sample (arbitrary :: Gen TimeOfDay)
15:00:53
14:02:44
14:44:40
12:40:12
09:55:39
10:06:02
15:00:51
15:52:23
16:59:05
22:38:45
20:23:15
关于haskell - TimeOfDay 的任意实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843502/
使用 QuickCheck,我想创建一系列伪随机数 TimeOfDay值。 创建特定的TimeOfDay很容易: now = TimeOfDay 17 35 22 使用 GHCi 8.6.5 打印此结
例如今天的日期:DateTime.Now 还有代表两个时间段的2个TimeSpan DateTime mydate = DateTime.Now; TimeSpan start = TimeSpan.
这个问题在这里已经有了答案: Convert time span value to format "hh:mm Am/Pm" using C# (13 个答案) 关闭 8 年前。 我的 asp.ne
我有一个 List一天 24 小时内的可用时间,以及两个 TimeSpans , minTime 和 maxTime。 我需要在 List 中找到一天中的某个时间落在 minTime 之间和 maxT
我有一个字符串,假设为“16:00”,我想将其转换为 TimeOfDay 类型。我查看了文档,它只提供了从 DateTime 到 TimeOfDay 的转换器,但我找不到将 String 转换为 Ti
我想显示当前时间。 使用 TimeOfDay.Now() 获取当前时间, TimeOfDay _currentTime = TimeOfDay.now();Text("Current Time: ${
目前,我的 y 轴看起来像这样: 这意味着它或多或少只会达到最高值。有没有办法固定它,使其跨越一天的整个持续时间 00:00-23:59? 我假设它必须在选项的 vAxis 部分中设置。 最佳答案 你
我有一个理论,为什么下面的代码没有产生我需要的结果: endDate = DateTime.UtcNow.AddDays(1).ToShortDateString() + " " +
TimeOfDay 文档没有比较运算符,原始比较不起作用。我现在能想到的唯一解决方案是将 TimeOfDay 转换为 DateTime 并使用 DateTime 的差异方法。 有没有人有更好的解决方案
当我使用 TimeOfDay 时,我得到了 error undefined class TimeOfDay。它以前工作过。我正在努力争取时间, TimeOfDay theTime = new Time
我有一个返回 TimeOfDay 对象的时间选择器。但是我必须将该值作为从 DateTime.millisecondsSinceEpoch 获得的毫秒整数保存在数据库中。我怎样才能做到这一点? 最佳答
下一行将给出当前时间 TimeOfDay _time = TimeOfDay.now(); //12:42 我想从_time添加或删除2小时10分钟////即12:52或10:52..etc 最佳答案
我看到了很多重复的帖子,但对我来说这是不同的东西。 我有一个 Datetime 对象并获取时间部分并为其分配另一个时间。当我要分配它时它会引发这些错误。 这里的 newStartDateGroup 是
大家好,我需要 VB 2015 和 MySQL Workbench 方面的帮助。我正在创建一个 Time In Out 程序。我的目标是检查用户是否已经在过去 5 分钟内计时,如果是,则将变为超时,否
我尝试使用 Google 的 timeofday 数据类型创建直方图,但不断收到错误“无效行索引 NaN。应该在 [0-0] 范围内。”当图表加载时。如果我使用 number 作为数据类型并将数组更改
我正在使用 Google Charts API 创建学生应试表现的图表。在 X 轴上,图表显示一周中的天数。在 Y 轴上,图表显示了学生参加考试的时间。 (目标是让老师看看学生是否加快了速度)。但是,
我正在尝试在 ASP.NET MVC 3 上使用 LINQ 进行查询。 我有一个模型,我们称之为事件。此 Event 对象有一个 Date 属性,即 DateTime?。我想要的是获取 2 个 Tim
我在 Flutter 中使用 timePicker。 一旦我从弹出对话框中选择了时间,它就会显示选择的时间,但它不仅会显示时间,例如:12:45,还会显示 TimeOfDay,例如:TimeOfDay
当我执行以下操作时: [EdmFunction("Edm", "TruncateTime")] public static DateTime? TruncateDateTime(DateTime? i
我正在为 asp.net mvc2 web 应用程序编写日志解析器。我使用 Entity Framework 作为模型,并使用我的手动引擎和 SqlServer2008 CDC 功能完成日志记录。 在
我是一名优秀的程序员,十分优秀!