我最近开始学习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的代码示例.
我非常感谢任何可以帮助我理解如何在将来避免这些错误的答案.
Cha*_*ion 17
您需要在适当的上下文中定义类型和函数(在函数之外).
open System
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)
)
)
[<EntryPoint>]
let main argv =
printInOrder binTree
0
Run Code Online (Sandbox Code Playgroud)