我需要将字符串转换为文字,以便可以将其作为参数传递给 CsvProvider。但我做不到。下面的代码运行没有问题:
open System.IO
open FSharp.Data
open FSharp.Data.JsonExtensions
let charSwitch (a: char) b x =
if x = a then
b
else
x
let jsonDataPath = Path.Combine(__SOURCE_DIRECTORY__, @"data\fractal.json")
let jsonData = JsonValue.Load(jsonDataPath)
/// Path with traded assets
let trp = ((jsonData?paths?tradedAssets).AsString() |> Core.String.map (charSwitch '\\' '/')).ToString()
printfn "trp is a standard string: %s" trp
// trp is a standard string: H:/Dropbox/Excel/Data/Fractal/Traded.csv
但是,当添加以下两行
[<Literal>]
let tradedPath = trp
最后我得到消息This is not a valid constant expression or custom attribute value
。
我什至尝试制作 trp 的副本,但这没有帮助。
有什么办法可以规避这个问题?