gpt4 book ai didi

functional-programming - `targetChecked` 中的 Bool 如何变成 `Action` ?

转载 作者:行者123 更新时间:2023-12-04 08:42:46 24 4
gpt4 key购买 nike

Elm checkboxes example一个Action被传递到tag checkbox 的参数函数(第 51-53 行)。

我不明白这个参数的类型签名是 (Bool -> Action)以及第 69 行如何使用函数组合运算符 <<改造Bool来自targetChecked进入完整Action类型。

编辑:

这个问题可以简化为“为什么以下内容有效?”

type Action = Edit Int

do : (Int -> Action) -> Action
do tag = tag(123)

result : Action
result = do(Edit)

最佳答案

当您定义联合类型时,联合类型的每个标记都将成为已定义的值。所以当你定义:

type Action = Tick | NoOp

这还定义了:

Tick : Action
NoOp : Action

当union标签有参数时,它就变成了一个“构造函数”,一个函数:

type Action = Edit Int
Edit : Int -> Action

(这些标记也用作可以与 case-of 结构进行匹配的模式。另请参阅 documentation on the website 。)

关于functional-programming - `targetChecked` 中的 Bool 如何变成 `Action` ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33754905/

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