gpt4 book ai didi

Elm Generator Int -> List Int

转载 作者:行者123 更新时间:2023-12-03 23:37:36 25 4
gpt4 key购买 nike

我想从 Generator

中取出 List
intList : Generator (List Int)
intList =
list 5 (int 0 100)

我现在怎么能从中得到一个列表呢?

最佳答案

您无法从 Generator 中获取随机列表,因为 Elm 函数始终是纯函数。获取列表的唯一方法是使用命令

命令是一种告诉 Elm 运行时执行一些不纯操作的方法。在您的情况下,您可以告诉它生成一个随机整数列表。然后它将该操作的结果作为 update 函数的参数返回。

要向 Elm 运行时发送命令以生成随机值,可以使用函数 Random.generate:

generate : (a -> msg) -> Generator a -> Cmd msg

你已经有了Generator a(你的intList),所以你需要提供一个函数a -> msg。此函数应将 a(在您的情况下为 List Int)包装成 message

最终的代码应该是这样的:

type Msg =
RandomListMsg (List Int)
| ... other types of messages here

update : Msg -> Model -> ( Model, Cmd Msg )
update msg model = case msg of
... -> ( model, Random.generate RandomListMsg intList)
RandomListMsg yourRandomList -> ...

如果您还不了解 messagesmodels,您应该熟悉 Elm architecture首先。

关于Elm Generator Int -> List Int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47483663/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com