fold反转序列的顺序

Dav*_*ook 4 arrays f#

我的序列,数组等的顺序很重要.我已经尝试在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)

Wil*_*osa 7

我相信这只是将您上一个函数的顺序更改为:

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)