Elm - 生成随时间变化的随机数列表

2024-03-01

我试图使一列随机数每秒发生变化,但我收到不同的错误消息:

import Random

main = flow down 
[ asText (Random.range 0 100 (every second))  
, asText (Random.range 0 100 (every second))
]

给出解析错误。我的方括号出了什么问题[?

Parse error at (line 5, column 1):
unexpected '['
expecting newline, spaces or end of input

也许缩进?

一旦我缩进,该示例就会编译,但我只是得到<signal>而不是实际数字

main = flow down 
  [ asText (Random.range 0 100 (every second))  
  , asText (Random.range 0 100 (every second))
  ]

lift对于信号?

最后当我尝试使用时lift这给我带来了其他困惑

main = flow down 
  [ lift asText (Random.range 0 100 (every second))  
  , lift asText (Random.range 0 100 (every second))
  ]

错误消息是我的类型错误lift.

Type error on line 5, column 5 to 9:
       lift

  Expected Type: Signal Element
    Actual Type: Element

No flow down只是一个清单

如果我忘记向下流动它仍然不合作:

main = lift asText
  [  (Random.range 0 100 (every second))  
  ,  (Random.range 0 100 (every second))
  ]

我收到一条错误消息_List预计:

Type error between lines 5 and 7:
       [Random.range 0 100 (every second),
        Random.range 0 100 (every second)]

  Expected Type: _List
    Actual Type: Signal

?

我正在使用吗Random.range正确吗?我没有对原始示例进行更改:

  • http://elm-lang.org/edit/examples/Reactive/Randomize.elm http://elm-lang.org/edit/examples/Reactive/Randomize.elm

我怎样才能让它与我合作lift and flow down ?


Here's an answer that works with 0.15 [EDIT: and 0.16], currently the latest version of Elm. Since Joe's answer was written, the Random library has been overhauled completely to use a pure random number generator. The pseudorandom numbers are deterministic: every run is always the same, unless you change the initial seed.

我们从导入开始:无聊但必要,然后使用 Random 库定义一些常量。

import Graphics.Element exposing (flow, down, show, Element)
import Time exposing (fps)
import Random

gen = Random.int 0 100
gen2 = Random.pair gen gen
seed0 = Random.initialSeed 42

接下来我们定义一个状态类型,包含随机种子和要显示的数字。我以为我们想要两个;对于恒定长度的列表,请使用Random.list n gen。我们还使用记录构造函数语法(和两个“随机”数字)定义初始状态。

type alias State = {seed : Random.Seed, first : Int, second : Int}
state0 = State seed0 36 89

现在我们定义一个每秒运行一次的步进函数。在这里,我们剥离两个随机数并将它们与新种子一起存储。请注意,我们每次都使用一个新的种子,将一个种子链接到下一个种子。

step : a -> State -> State
step _ state =
  let
    ((first, second), seed') = Random.generate gen2 state.seed
  in
    State seed' first second

现在我们使用foldp引入状态,实际运行该步骤函数。

state : Signal State
state = Signal.foldp step state0 (fps 1)

我们定义一个纯渲染函数。这里没有信号。

render : State -> Element
render state =
    flow down [show state.first, show state.second]

最后,我们将渲染函数映射(以前称为提升)到状态。

main = Signal.map render state

如果您连接灰色框并删除间隙注释,您将获得一个可以运行的 Elm 0.15 程序。但请注意,它似乎是 CPU 密集型的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Elm - 生成随时间变化的随机数列表 的相关文章

  • 为 javascript 编写一个真正具有包容性的随机方法

    Javascript MATH 对象有一个随机方法 该方法从集合 0 1 返回 0 含 0 1 不包括 有没有办法返回一个真正随机的方法 其中包括 1 e g var rand MATH random 2 if rand gt 1 rand
  • 生成总和恒定的随机数

    我在想是否有办法生成一组随机数 其总和始终是一个常数 例如 20 可以分为 5 个数字 1 2 3 4 10 我不在乎这 5 个数字分别是什么 只要它们的总和等于 20 有没有办法以编程方式执行此操作 为了获得均匀分布 技巧是将总和视为一条
  • 如何在 Windows 上检查子进程是否被信号杀死

    问题 给定一个在 python 中启动的子进程 其代码类似于 import subprocess p subprocess Popen command stdout subprocess PIPE stderr subprocess PIP
  • PHP 使用今天的日期生成一个随机数

    我正在尝试为内容块 在网页上 分配一个随机生成的数字 该数字基于今天的日期 无论是什么 和固定数字 由于某种原因 输出的数字种类存在巨大差异 例如 当我在本地测试我的代码时 生成的数字对我来说足够好 正数 但在实际的实时服务器上时 它们通常
  • RNG 技术的可移植性和可重复性

    我可以使用两种方法之一来创建一个伪随机数序列 该序列具有两个重要特征 1 它可以在不同的机器上重现 2 该序列永远不会重复范围内的数字 直到所有数字都被发出 我的问题是 这两种方法在可移植性 操作系统 Python 版本等 方面是否存在潜在
  • C# 中的 Bouncy Castle SecureRandom 线程安全吗?

    答案显然是yes https stackoverflow com a 1461624 1709587对于Java中的实现 但是怎么样Org BouncyCastle Security SecureRandom in C 因为据我所知 没有
  • 有没有办法让我的程序用更少的代码运行?

    我为学校作业编写了以下代码 它编译并打印所有正确的消息 但出于我自己的好奇心 我想知道我的代码是否可以缩短并且仍然有效 我尝试了 signal 而不是 sigaction 但我听说 sigaction 比 signal 更受青睐 此外 此任
  • MySQL:你能指定一个随机限制吗?

    有没有办法在 SQL MySQL 中随机化限制数字 我希望能够做的是在查询中获取随机数量的结果以在插入子查询中使用 而无需任何服务器端脚本 我希望能够作为假设说明运行的查询是 SELECT id FROM users ORDER BY RA
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 如何在C++11中让每个线程使用自己的RNG

    我正在 C 11 中使用新的随机数生成器 虽然有不同的看法 但由此看来thread https stackoverflow com questions 8813592 c11 thread safety of random number g
  • 在 C++ 中模拟 C# Random()(相同数字)

    有没有办法在 C 中实现 C Random 类 我特别需要根据给定的种子生成相同的数字序列 场景 我正在努力通过利用 C 中 Random 的使用来生成密钥 从而 破解 多个加密恶意软件 显然 这对于只有 2 32 个可能的密钥 约 4 3
  • 如何快速从文件夹树中选取随机文件?

    我试图从文件夹树中选择一个随机文件 从固定路径开始 并在所有子文件夹 或所选文件夹本身 中递归 搜索 我的想法是 创建文件列表 计算文件数量 在该范围内选择一个随机数 然后选择该索引处的文件 这是我的代码 create list of al
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 当尝试在随机数字数组中查找运行最大值时,会调用多少次更新最大值?

    假设我们有一个包含 N 到 N 的整数的数组 数组大小为 2N 1 我们首先对数组中的元素进行混洗 然后尝试通过从第一个元素到最后一个元素迭代数组来找到最大整数 代码示例是Java语言 int called 0 int max Intege
  • 在 R 中,如何让 PRNG 在平台之间给出相同的浮点数?

    在 R 4 1 1 中运行以下代码会在平台之间产生不同的结果 set seed 1 x lt rnorm 3 3 print x 22 0 83562861241004716 intel windows 0 8356286124100471
  • java代码的等效vb代码

    谁能告诉我这段Java代码到底做了什么 SecureRandom random SecureRandom getInstance SHA1PRNG byte bytes new byte 20 synchronized random ran
  • 从 Go Slice 中选择一个随机值

    情况 我有一些值 需要从中随机选择一个值 然后我想将它与固定字符串连接起来 到目前为止 这是我的代码 func main create the reasons slice and append reasons to it reasons m
  • 在多线程环境中捕获信号

    我有一个大型程序 需要尽可能具有弹性 并且有大量线程 我需要捕获所有信号SIGBUS SIGSEGV 并在必要时重新初始化有问题的线程 或者禁用该线程以继续减少功能 我的第一个想法是做一个setjump 然后设置信号处理程序 可以记录问题
  • 如何在 Mac OS X 中获取 aio 信号处理程序的用户数据

    我尝试在 Mac OS X 下使用 aio 函数进行异步文件 IO 但在将某种形式的用户数据输入信号处理程序时遇到问题 这是设置操作的代码 class aio context public aio context int fildes bo
  • 尝试在Python3.6中实现`signal.CTRL_C_EVENT`

    我正在阅读有关信号的内容并尝试实施signal CTRL C EVENT 据我了解 如果用户在程序运行时按 CTRC C 将发送一个信号来终止程序 我可以将程序指定为参数吗 我尝试测试用法 import sys import signal

随机推荐

  • 从扫描的 GS1 类型条形码中提取信息

    我还想从扫描的 GS1 条形码消息中确定产品信息 例如描述 制造商和有效期 我怎样才能做到这一点 获取以 GS1 应用标识符标准格式存储数据的 GS1 类型条形码所表示的信息涉及两个过程 萃取通过扫描符号获得的 GS1 结构数据中包含的数据
  • CSS Jquery 垂直导航菜单与水平子菜单

    我想创建一个像这样的导航菜单 main item1 main item2 sub item1 sub item2 sub item3 main item3 main item4 我现在看到的是这样的 main item1 main item
  • 在 ASP.NET Boilerplate 中上传图像

    发布图片时 HttpContext Current Request is null 有什么简单的方法可以实现这一目标吗 我在用dropzone js在客户端 项目是带有 Web API ASP NET Core 2 0 模板的 Angula
  • yii2 在 gridview 中更改控制器操作

    我有 ItemController 并在 actionView 中放置了 Itempicture 的 gridview 我希望当我单击图标视图时 更新和删除 然后转到 ItempictureController 那么如何使用不同的控制器更改
  • Unicode - VARCHAR 和 NVARCHAR

    Creating Table Create Table Test1 id Varchar 8000 Inserting a record Insert into Test1 Values 我們的鋁製車架採用最新的合金材料所製成 不但外型輕巧
  • 在浏览器中呈现终端输出

    我有一个文件 其中包含用以下命令捕获的一堆终端日志screen公用事业 这是一个片段 A 0m 27m 24m J 34m 39m base 38 5 242mbase 39m 35m 39m 133 B K 1l gt 2004l A 0
  • 使用 jQuery 离开页面

    我只有一个可用的相对链接 但我想使用 jQuery 导航到这个相对链接 我只在 jQuery 中看到 AJAX 功能 我如何使用 jQuery 或纯 HTML JavaScript 来做到这一点 window location href s
  • Xcode 脚本上的相对路径

    我正在尝试使用 Xcode 运行脚本 但有几个问题 1 Xcode 说将脚本拖放到运行脚本部分 但这会创建一个绝对路径 Users Me Desktop Project etc 如果其他人或 CI 机器检查了代码 这显然是没有用的 如何指定
  • C++ 开关仅适用于整型的理由是什么? [复制]

    这个问题在这里已经有答案了 我觉得C 应该允许switch 超过任何可以比较的类型 而不仅仅是整数类型 看起来很奇怪的是 switch myEnum case myEnumValue1 break case myEnumValue1 bre
  • 创建一个基于查询字符串重定向或使用 .htaccess 的 PHP 页面

    我购买了重力形式 WordPress 插件 但遇到了一个问题 它无法根据用户的输入将用户重定向到特定的 URL 然而 一位开发人员确实告诉我 它具有重定向到页面并根据输入引入查询字符串的功能 我需要做的就是在页面上使用 PHP 根据查询字符
  • 在 Chrome 中选择相同文件时,FileReader onload 不会被触发

    FileReader onload当用 Chrome 选择同一个文件时 第二次不会被触发 而 FireFox 总是会被触发 function uploadCover input if input files input files 0 va
  • 什么是带有 activesupport time_zone 的“循环参数引用”错误?

    我是 ruby on Rails 的新手 我正在尝试创建一个教程 我执行的时候遇到问题rake db migrate hugo ubuntu pin board rake db migrate home hugo rvm gems ruby
  • 如何将构建过程参数放入TFS中的类别中?

    当我打开构建定义时 我可以看到参数被分成带有数字前缀的部分 例如1 基本 2 其他等 但是 当我编辑 xaml 时 没有指示这些类别的定义位置 有人可以提供一些关于它们在参数列表中的位置的指导吗 这是一个类似的问题 只是发布者询问了基于构建
  • 如何以react hook形式验证密码并确认密码?反应钩子形式是否有任何验证属性和消息来显示错误?

    实际上 我尝试验证表单并卡住以验证密码并确认密码 中是否有任何属性useForm在最新版本中验证密码并以反应钩子形式显示消息 请帮忙 实际上 我尝试验证表单并卡住以验证密码并确认密码 中是否有任何属性useForm在最新版本中验证密码并以反
  • 如何读取 csv django http 响应

    在视图中 我使用简单的 csv writer 创建一个完全由 csv 组成的 Django HttpResponse 对象 response HttpResponse content type text csv response Conte
  • 为什么vite中不能使用reflect-metadata

    import reflect metadata function validate target any let paramtypes Reflect getMetadata design paramtypes target console
  • 以特殊格式收集存储库中所有分支的列表 [Git]

    有没有办法收集存储库中的分支列表以及最后提交日期 换句话说 我想将这样的内容打印到标准输出 branch name 1 date1 branch name 2 date2 branch name 3 date3 是否可以 EDIT 我尝试使
  • PermissionError: [Errno 13] 权限被拒绝 Flask.run()

    我正在使用 python 3 运行 MacOS X 文件夹和文件有 755 但我也在 777 中测试过它 但没有成功 我的问题是 如果我有正确的权限 为什么它不允许我在没有 sudo 的情况下运行 还是我的设置不正确 cris mbp Pr
  • Java:三个字符串,字典顺序

    初学者 Java 程序员在这里 我试图将三个字符串相互比较 并让系统按字典顺序吐出第二个 中间的单词 import java util public class Ordered2 public static void main String
  • Elm - 生成随时间变化的随机数列表

    我试图使一列随机数每秒发生变化 但我收到不同的错误消息 import Random main flow down asText Random range 0 100 every second asText Random range 0 10