Расширение строковых литералов-разделителей для поддержки необработанного текста Swift - PullRequest
0 голосов
/ 14 апреля 2019

Я недавно нашел этот фрагмент кода в книге 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 Ответ

0 голосов
/ 15 апреля 2019

Чтобы привести только один пример, где это очень полезно.Как насчет того, чтобы писать Regex, раньше это был кошмар, потому что вам приходилось избегать всех специальных символов.Например,

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...