我的序列,数组等的顺序很重要.我已经尝试在List,Seq和Array之间进行转换以查看是否存在差异,并且在每种情况下它都会颠倒顺序.
例如,我有[名词] [动词] [瞄准]的序列,它被转换成字符串然后折叠在一起.给出此模板的示例响应可能是"坏运行强盗"而不是"强盗运行不好".
有关为什么折叠这样做或如何以适当的顺序执行它的任何想法?
let res = template |> Seq.map(fun pos ->
let e = s |> PredictionEngine.GetRandom
pos |> PredictionEngine.GetBestPartOfSpeechWord e)
|> Seq.fold(fun acc w -> w.Text + " " + acc) ""
Run Code Online (Sandbox Code Playgroud)
我相信这只是将您上一个函数的顺序更改为:
Seq.fold(fun acc w -> acc + " " + w.Text) ""
Run Code Online (Sandbox Code Playgroud)
像这样,新的itens连接到旧的itens结束.可以在以下代码段中看到此工作的最低示例:
["Bandits";"Run";"Bad"]
|> Seq.fold(fun acc w -> acc + " " + w) ""
|> printfn "%s"
Run Code Online (Sandbox Code Playgroud)