Xml 应为int返回值

Xml 应为int返回值,xml,f#,Xml,F#,我有以下代码段,用于计算XML文件: 开放系统 开放系统 open System.Xml.Linq 打开FSharp.Data 开放系统.Net 类型InputXml=XmlProvider [] 让主argv= 让input=InputXml.Load(“C:\Temp\sample.xml”) 对于input.GetCustomers()中的客户 对于customer.GetOrders()中的订单 对于order.GetOrderLines()中的行 printfn“客户:%s,订单:%s

我有以下代码段,用于计算XML文件:

开放系统
开放系统
open System.Xml.Linq
打开FSharp.Data
开放系统.Net
类型InputXml=XmlProvider
[]
让主argv=
让input=InputXml.Load(“C:\Temp\sample.xml”)
对于input.GetCustomers()中的客户
对于customer.GetOrders()中的订单
对于order.GetOrderLines()中的行
printfn“客户:%s,订单:%s,物料:%s,数量:%d”
客户.名称订单.编号行.项目行.数量
Console.ReadLine()|>忽略
0//返回整数退出代码
编译器显示以下错误:

错误1此表达式应具有类型
int
但这里有一种类型
D单元:\f#\samples\Program.fs 16 5个样本
为什么??我做错了什么?

F#用空格分隔。这意味着:

输入中客户的
。GetCustomers()do
对于customer.GetOrders()中的订单
对于order.GetOrderLines()中的行
需要更像这样:

输入中客户的
。GetCustomers()do
对于customer.GetOrders()中的订单
对于order.GetOrderLines()中的行
否则的第一个
的主体范围将持续到当前缩进级别结束(包括
0
)。您可以使用旧式语法通过执行以下操作来解决此问题:

输入中客户的
。GetCustomers()do
对于customer.GetOrders()中的订单
对于order.GetOrderLines()中的行
...
完成
完成
完成
0
但在这一点上,这是非常不习惯的