Яка різниця між одинарними та подвійними цитованими рядками?


18

Яка різниця між одинарними та подвійними цитованими рядками?

Чи є спосіб отримати змінну, розширену всередині рядка, чи їх завжди потрібно з'єднувати так: 'Hello, ' . s:name . '!'

Відповіді:


23

Єдина різниця між однократним і подвійним котирувальним рядком пов’язана з зворотною косою рисою. Щоб відобразити спеціальні символи, такі як новий рядок, дзвінки, вкладки тощо, потрібно використовувати подвійні лапки -> "\n".

У рядку з одним котируванням, '\'сам по собі => '\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'
Люк Ермітт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.