Конкатенация массива строк и добавление еще одной строки с помощью F # - PullRequest
1 голос
/ 31 мая 2011

У меня есть строки массива строк, например

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

Я хотел бы создать строку строк, которая объединяет элементы в строках с добавленной строкой "code =".Например, мне нужно получить строку code="helloworld" из массива строк.

Я мог бы получить объединенную строку с этим кодом

let concatenatedLine = lines |> String.concat "" 

И я проверил этот код перед "кодом"= "строка следующим образом, но я получил error FS0001: The type 'string' is not compatible with the type 'seq<string>' ошибка.

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

Что с этим не так?

Ответы [ 2 ]

5 голосов
/ 31 мая 2011

+ связывает сильнее, чем |>, поэтому вам нужно добавить несколько скобок:

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

В противном случае компилятор анализирует выражение как:

let concatenatedLine = (("code=" + lines) |> (String.concat ""))
                         ^^^^^^^^^^^^^^^
                         error FS0001 
2 голосов
/ 31 мая 2011

Я думаю, вы хотите попробовать следующее (оператор прямого трубопровода имеет более низкий приоритет)

let concatenatedLine = "code=" + (lines |> String.concat "" )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...