我正在尝试从FAKE读取XML文件中的值,但是我收到了一个错误,即
.fsx(9,16) : eror FS000: Incomplete structurd construct at or before this
point in expression. Expected '->' or other token.
以下是我的代码,我使用XMLHelper.XMLRead
从xml文件中读取值。
#r "./packages/FAKE/tools/FakeLib.dll"
open Fake
open Fake.XMLHelper
Target "BuildMain" (fun _ ->
for s in XMLHelper.XMLRead true "D:/test/Version.Config" "/version/major/minor"
trace s)
"BuildMain"
RunTargetOrDefault "BuildMain"
下面是我的XML文件:
<version>
<major number="2">
<minor>1</minor>
<build>1</build>
<revised>1</revised>
</major>
</version>
这里我试图从次要版本读取值,而且我可以将此值存储在变量中以便以后可以使用它吗?
答案 0 :(得分:1)
for ... in
构造在身体前需要do
或箭头->
:
for s in XMLHelper.XMLRead true "D:/test/Version.Config" "/version/major/minor" do
trace s
如果正文是另一个循环或只是副作用代码,则使用do
,如:
for x in 1..5 do
printfn "%d" x
使用箭头->
让身体产生一个值,然后该值成为结果列表或序列的一部分,如:
let evenNumbers2to10 = [for x in 1..5 -> x*2]
可以将箭头->
视为do yield
的快捷方式:
let evenNumbers2to10 = [for x in 1..5 do yield x*2]