F#不完全结构化构造
我最近开始学习F#,今天我犯了一个无法摆脱的错误。我有以下代码:F#不完全结构化构造,f#,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,
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
开放系统
[]
让主argv=
类型二叉树=
|int*BinaryTree*BinaryTree的节点
|空的
让rec printInOrder树=
匹配树
|节点(数据、左、右)
->打印顺序左
打印fn“节点%d”数据
打印顺序右
|空的
-> ()
设binTree=
节点(2,
节点(1,空,空),
节点(4,
节点(3,空,空),
节点(5,空,空)
)
)
打印顺序二叉树
0
使用此代码,我得到以下错误:
绑定中此点或之前的不完整结构化构造
不幸的是,我不知道如何修复它。这是《编程F#3.0》一书中的代码示例
我非常感谢任何能帮助我理解如何避免今后出现此类错误的答案。您需要在适当的上下文中定义类型和函数(函数之外)
开放系统
类型二叉树=
|int*BinaryTree*BinaryTree的节点
|空的
让rec printInOrder树=
匹配树
|节点(数据、左、右)
->打印顺序左
打印fn“节点%d”数据
打印顺序右
|空的
-> ()
设binTree=
节点(2,
节点(1,空,空),
节点(4,
节点(3,空,空),
节点(5,空,空)
)
)
[]
让主argv=
打印顺序二叉树
0
太快了。非常感谢你
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