2013-02-16 6 views
8

Tek tırnak içinde enterpolasyonu nasıl yapabilirim?Tek tırnak içinde interpolasyon

Böyle bir şey denedim ama iki sorun var.

string = 'text contains "#{search.query}"' 
  1. O
  2. ben şöyle çift tırnak sarılı dinamik içeriğe sahip son dize gerek çalışmaz:

    'text contains "candy"' 
    

Muhtemelen garip görünüyor ama Çalıştığım gem bunu gerektirir.

+0

olsun search.query sonucun çift tırnak sarılı dönmek için? –

+2

Tek tırnak kullanmak zorunda kalmazsınız - oluşturulan dizgi, tek tırnaklı bir değişmez, çift tırnaklı, başka bir değişmez veya diğer dizgi işlemlerinden oluşturulmuş olup olmadığını bilmez. –

cevap

11

Çift tırnak "text contains \"#{search.query}\""'dan çıkmak istemiyorsanız, %{text contains "#{search.query}"}'u kullanabilirsiniz.

-2

tek bir teklifle dize başlamak demektir Kullanım

%q(text contains "#{search.query}") 

. Eğer çift tırnak kullanımı ile başlamak istiyorsanız Veya:

%Q(text contains '#{text}') 
+0

Benim için çalışmıyor. "Search.query" kelimesini tam anlamıyla basar – Dru

4
'Hi, %{professor}, You have been invited for %{booking_type}. You may accept, reject or keep discussing more about this offer' % {professor: 'Mr. Ashaan', booking_type: 'Dinner'} 
+0

Sadece bir not, 'String.format' yerine'% '(Rubocop'a göre) tercih edilir. + 1 iyi efendim, teşekkürler –