小编yxr*_*rkt的帖子

了解Elm中的泛型联合类型

我在理解究竟是什么Html msg类型或者如何使用它时遇到了一些麻烦.我在VirtualDom.elm中找到了这行代码,它Html msg似乎是别名:

type Node msg = Node
Run Code Online (Sandbox Code Playgroud)

这看起来像具有一个类型参数的通用联合类型msg,以及一个不包含其他信息的简单案例.我在想:

  1. div函数如何构造这些对象之一?
  2. 如何使用这样的对象?
  3. 怎么会这样的对象被使用?
  4. 用户是否有任何值来定义这样的类型,或者Html msg只是支持Elm编译器/运行时的神奇类型?

elm

16
推荐指数
1
解决办法
2411
查看次数

递归如何适用于F#中的活动模式?

我有以下函数来解析整数:

let rec digits = function
    | head::tail when System.Char.IsDigit(head) ->
        let result = digits tail
        (head::(fst result), snd result)
    | rest -> ([], rest)
Run Code Online (Sandbox Code Playgroud)

如果我将此函数更改为活动识别器,则不再编译.

let rec (|Digits|) = function
    | head::tail when System.Char.IsDigit(head) ->
        let result = Digits tail
        (head::(fst result), snd result)
        //          ^^^^^^       ^^^^^^ see error*
    | rest -> ([], rest)
Run Code Online (Sandbox Code Playgroud)

*错误FS0001:此表达式应该具有char list*'a类型,但这里有char列表类型

f# parsing metaprogramming

4
推荐指数
1
解决办法
385
查看次数

标签 统计

elm ×1

f# ×1

metaprogramming ×1

parsing ×1