Ответ 1
Вы можете проверить длину заранее или использовать min
для определения фактического количества оставшихся символов:
(defn trunc
[s n]
(subs s 0 (min (count s) n)))
У меня есть строка, которая должна быть усечена с 200 символами, если она слишком длинная.
Проверка cheatsheet, (subs "Lorem Ipsum" 0 200)
представляется очевидным выбором, но она выдает исключение, если второй оператор больше, чем длина строка.
Есть ли простая встроенная функция для обрезания строки в Clojure? Какой самый простой способ сделать это, если я должен определить свой собственный?
Вы можете проверить длину заранее или использовать min
для определения фактического количества оставшихся символов:
(defn trunc
[s n]
(subs s 0 (min (count s) n)))
Вы можете рассматривать их как последовательности и получать безопасность (и элегантность?), но стоимость - это производительность:
(defn truncate
[s n]
(apply str (take n s)))