#string #delimiter #swift5 #rawstring
#строка #разделитель #swift5 #rawstring
Вопрос:
Недавно я нашел эти фрагменты кода в книге Swift 5.
print(#"Write an interpolated string in Swift using (multiplier)."#)
// Prints "Write an interpolated string in Swift using (multiplier).”
print(#"6 times 7 is #(6 * 7)."#)
// Prints "6 times 7 is 42.”
Я узнал, что в Swift 5 было принято предложение по улучшению разделителей строковых литералов для поддержки необработанного текста, с таким количеством приведенных примеров.
Мой вопрос в том, когда и как он используется в практических случаях, потому что из приведенных выше примеров я бы все равно четко достиг того, чего хочу, даже без #
знаков!
Ответ №1:
Приведу только один пример, где это очень полезно. Как насчет написания регулярных выражений, раньше это был кошмар, так как вам приходилось экранировать все специальные символы. Например.
let regex1 = "\\[A-Z] [A-Za-z] \.[a-z] "
Теперь можно заменить на
let regex2 = #"\[A-Z] [A-Za-z] .[a-z] "#
Намного проще писать. Теперь, когда вы находите регулярное выражение в Интернете, вы можете просто скопировать и вставить его, не тратя целую вечность на экранирование специальных символов.
Редактировать:
Можно прочитать здесь
https://www.hackingwithswift.com/articles/162/how-to-use-raw-strings-in-swift