连接字符串数组,并在F#之前添加另一个字符串

时间:2011-05-31 15:34:13

标签: string f# concatenation

我有一个字符串数组行,例如

lines = [| "hello"; "world" |]

我想创建一个字符串行,将行中的元素连接起来,前面加上“code =”字符串。例如,我需要从lines数组中获取字符串code="helloworld"

我可以使用此代码获取连接字符串

let concatenatedLine = lines |> String.concat "" 

我测试了这段代码,前面加了“code =”字符串,但是我遇到了error FS0001: The type 'string' is not compatible with the type 'seq<string>'错误。

let concatenatedLine = "code=" + lines |> String.concat "" 

这有什么问题?

2 个答案:

答案 0 :(得分:5)

+绑定强于|>,因此您需要添加一些括号:

let concatenatedLine = "code=" + (lines |> String.concat "")

否则编译器将解析表达式:

let concatenatedLine = (("code=" + lines) |> (String.concat ""))
                         ^^^^^^^^^^^^^^^
                         error FS0001 

答案 1 :(得分:2)

我认为你想尝试以下方法(正向管道运营商的优先级较低)

let concatenatedLine = "code=" + (lines |> String.concat "" )