Tek ve çift tırnaklı dizeler arasındaki fark nedir?


18

Tek ve çift tırnaklı dizeler arasındaki fark nedir?

Bir değişkenin bir dize içinde genişlemesinin bir yolu var mı, yoksa her zaman şu şekilde birleştirilmesi gerekiyor mu? 'Hello, ' . s:name . '!'

Yanıtlar:


23

Tek ve çift tırnaklı dize arasındaki tek fark ters eğik çizgi ile ilgilidir. Yeni satır, zil, sekme vb.Gibi özel karakterleri görüntülemek için çift tırnak kullanmanız gerekir -> "\n".

Tek tırnaklı bir dize '\'içinde = = '\n'iki karakterli bir dizedir (ters eğik çizgi + n). Çift tırnak içinde, iki katına çıkmanız gerekir -> "\\", bu da onları normal ifadeleri tanımlamak için pratik hale getirir.

Dize genişletmeyle ilgili olarak, birkaç seçeneğiniz vardır:

  • 'Hello, ' . s:name . '!'
  • join(['Hello, ', s:name, '!'], '') - asla kullanmadığımız
  • printf('Hello %s!', s:name)
  • lh#fmt#printf('Hello %1!', s:name)- lh-vim-lib'den, türler hakkında bilgi sahibi olmak istemediğimizde ve alanları biçimlendirmemiz gerekmediğinde, ancak 'Hello %1. How are you doing %1 this %2' gibi biçimleri kullanmak istediğimizde '.

'Tek tırnaklı bir dizenin içine dahil etmek mümkün müdür ?
Tom Hale

2
@TomHale. Evet öyle. İki katına çıkarın. -> 'foo''bar'veya her iki tür alıntıyı kullanın:'foo'."'".'bar'
Luc Hermitte
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.