SORU
10 NİSAN 2012, Salı


Neden dize aradeğerleme ayraç var hiçbir zaman Ruby çalışır?

Ruby'de string aradeğerleme kullanmak için doğru yolu aşağıdaki gibidir:

name = "Ned Stark"
puts "Hello there, #{name}" #=> "Hello there, Ned Stark"

O her zaman onu kullanmayı istiyorum.

Ancak bir şey fark ettimgaripRuby'nin string aradeğerleme. Kıvırcık parantez içinde örnek değişkenleri açısından olmadan dize aradeğerleme Ruby çalıştığını fark ettim. Örneğin:

@name = "Ned Stark"
puts "Hello there, #@name" #=> "Hello there, Ned Stark"

Ve olmayan örnek bir değişken olarak aynı şeyi denemeye çalışmıyor.

name = "Ned Stark"
puts "Hello, there, #name" #=> "Hello there, #name"

Hem 1.9.2 ve 1.8.7 başarı ile denedim.

Neden bu işe yarıyor mu? Yorumlayıcı burada ne işi var?

CEVAP
10 NİSAN 2012, Salı


GöreRuby Programlama Dilitarafından Flanagan ve Matsumoto:

Bu dize içine aralıklı olmak ifadesi sadece global, örnek veya bir sınıf değişkeni için bir başvuru olduğunda, kıvırcık parantezler ihmal olabilir.

Aşağıdaki çalışması gerekir:

@var = "Hi"
puts "#@var there!"  #=> "Hi there!"

@@var = "Hi"
puts "#@@var there!" #=> "Hi there!"

$var = "Hi"
puts "#$var there!"  #=> "Hi there!"

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bcbauer

    bcbauer

    7 ŞUBAT 2007
  • EminemMusic

    EminemMusic

    9 ŞUBAT 2007
  • PaulGBelliveau

    PaulGBellive

    5 Mart 2009