Конкатенація рядків

Elm:
Конкатенація рядків

Як це зробити:

В Elm є чудовий оператор (++), щоб нас виручити:

greeting : String
greeting =
    "Привіт, " ++ "світе!"

-- "Привіт, світе!"

Але іноді у вас є купка частин. Не панікуйте, ++ можна ланцюжком з’єднувати:

fullName : String
fullName =
    "Elm" ++ " " ++ "Lang"

-- "Elm Lang"

І для списків рядків String.join буде вашим другом:

words : List String
words =
    ["Приєднуйтесь", "до", "клубу", "Elm"]

sentence : String
sentence =
    String.join " " words

-- "Приєднуйтесь до клубу Elm"

Поглиблений аналіз

В давні часи ви часто з’єднували рядки з складними функціями в інших мовах. В Elm, це завжди було легко завдяки оператору (++). Якщо ви дійсно з’єднуєте багато, ефективність може стати на заваді; використання (++) на довгих рядках може бути повільнішим, тому що Elm має пройти через весь рядок зліва від (++) кожного разу.

Також існує “інтерполяція” в деяких мовах, але Elm не підтримує інтерполяцію рядків. Однак не хвилюйтесь, (++) та String.join нас врятує.

Під капотом, коли Elm з’єднує, він намагається це робити розумно, часто використовуючи оптимізовані операції JavaScript, оскільки в кінцевому підсумку Elm компілюється в JavaScript. Так що, навіть якщо (++) може здатися простим, за лаштунками відбувається деяка хитрість, щоб тримати речі швидкими.

Дивіться також