В чем разница между одинарными и двойными кавычками?

18

В чем разница между одинарными и двойными кавычками?

Есть ли способ получить переменную, раскрытую внутри строки, или их всегда нужно соединять так: 'Hello, ' . s:name . '!'

Том Хейл
источник

Ответы:

23

Единственная разница между одинарной и двойными кавычками связана с обратной косой чертой. Для отображения специальных символов, таких как перевод строки, колокольчики, вкладки и т. Д., Вам необходимо использовать двойные кавычки -> "\n".

Внутри строки в одинарных кавычках '\'is is => '\n'является строкой из двух символов (обратная косая черта + n). В двойных кавычках вы должны удвоить его -> "\\", что делает их непрактичными для определения регулярных выражений.

Что касается расширения строки, у вас есть несколько вариантов:

  • 'Hello, ' . s:name . '!'
  • join(['Hello, ', s:name, '!'], '') - которые мы никогда не используем
  • printf('Hello %s!', s:name)
  • lh#fmt#printf('Hello %1!', s:name)- из lh-vim-lib, когда мы не хотим знать о типах и когда нам не нужно форматировать поля, но когда мы хотим использовать такие форматы, как: 'Hello %1. How are you doing %1 this %2'.
Люк Эрмитт
источник
Можно ли включить 'строку в одинарные кавычки?
Том Хейл,
2
@TomHale. Да, это так. Удвой это. -> 'foo''bar', или используйте оба вида цитат:'foo'."'".'bar'
Люк Эрмитт