小编Div*_*ivh的帖子

F#不完整的结构化构造

我最近开始学习F#,今天我得到了一些我无法摆脱的错误.我有以下代码:

open System

[<EntryPoint>]
let main argv =

    type BinaryTree =
        | Node of int * BinaryTree * BinaryTree
        | Empty

    let rec printInOrder tree = 
        match tree with
        | Node (data, left, right)
            -> printInOrder left
               printfn "Node %d" data
               printInOrder right
        | Empty
            -> () 

    let binTree = 
         Node(2, 
            Node(1, Empty, Empty),
            Node(4, 
                Node(3, Empty, Empty),
                Node(5, Empty, Empty)
            )
    )

printInOrder binTree
0
Run Code Online (Sandbox Code Playgroud)

使用此代码我收到以下错误:

绑定时此点或之前的不完整结构化构造

不幸的是我不知道如何解决它.这是编程F#3.0的代码示例.

我非常感谢任何可以帮助我理解如何在将来避免这些错误的答案.

f#

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

为什么Moq验证方法调用抛出异常?

我无法通过这段代码.

[<Test>]
member public this.Test() =
    let mock = new Mock<IList<string>>()
    let mockObj = mock.Object

    mockObj.Add("aaa")        
    mock.Verify(fun m -> m.Add(It.IsAny<string>()), Times.Once())
Run Code Online (Sandbox Code Playgroud)

我得到的例外情况:

System.ArgumentException : Expression of type 'System.Void' cannot be used for constructor parameter of type 'Microsoft.FSharp.Core.Unit'
Run Code Online (Sandbox Code Playgroud)

我认为它与F#有关,没有正确推断labda表达式的数据类型,但我不知道如何解决这个问题.

f# moq

3
推荐指数
1
解决办法
218
查看次数

标签 统计

f# ×2

moq ×1