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. Так що, навіть якщо (++)
може здатися простим, за лаштунками відбувається деяка хитрість, щоб тримати речі швидкими.
Дивіться також
- Офіційна документація Elm про рядки: https://package.elm-lang.org/packages/elm/core/latest/String
- Посібник Elm, де ви можете дізнатися більше про рядки: https://guide.elm-lang.org/strings/