gpt4 book ai didi

xml - F# XML 类型提供程序和可选类型

转载 作者:数据小太阳 更新时间:2023-10-29 03:02:43 26 4
gpt4 key购买 nike

在这两个功能相同的 XML 文件上使用 XML 类型提供程序会使用 XML 类型提供程序给出不同的结果。

XML 文件 1:

<?xml version="1.0" encoding="utf-8"?>
<params>
<mode >
 <reg >0</reg>  
</mode>
<mode >
 <reg >1.7976931348623157E+308</reg>  
</mode>
<mode></mode>
</params>

XML 文件 2:

<?xml version="1.0" encoding="utf-8"?>
<params>
<mode>  
</mode>
  <mode >
    <reg >0</reg>
  </mode>
  <mode >
    <reg >1.7976931348623157E+308</reg>
  </mode>
</params>

请注意,唯一的区别是空的“模式”位于一个文件的末尾和另一个文件的开头。

测试 F# 代码如下所示:

type  Test = XmlProvider<""".\test.xml""">
type Test2 = XmlProvider<""".\test2.xml""">

let xml = Test.GetSample()
let list1 = [for mode in xml.Modes -> mode.Reg]

let xml2 = Test2.GetSample()
let list2 = [for mode in xml2.Modes -> mode.Reg]

list1 具有您所期望的类型“Option list”。但是 list2 的类型为“float list”,这是不正确的,会导致运行时异常。

为什么会发生这种情况,我该如何避免这个问题?

最佳答案

您使用的是哪个版本的 F# Data?你试过最新的 2.x 吗?如果还是不行,请在 https://github.com/fsharp/FSharp.Data/issues 上提交问题

关于xml - F# XML 类型提供程序和可选类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22811323/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com