SORU
31 EKİM 2008, Cuma


'bir dize arasındaki fark ne Ruby ve bir sembol?

Bir dize ve Yakut bir sembol arasındaki fark nedir ve ne zaman birini kullanmak gerekir?

CEVAP
31 EKİM 2008, Cuma


Temel fark, birden çok simgeleri tek bir değeri temsil eden bu dizelerle doğru değil ise aynıdır. Örneğin:

irb(main):007:0> :test.object_id
=> 83618
irb(main):008:0> :test.object_id
=> 83618
irb(main):009:0> :test.object_id
=> 83618

Bu sembol 3 referanslar :test, aynı nesne.

irb(main):010:0> "test".object_id
=> -605770378
irb(main):011:0> "test".object_id
=> -605779298
irb(main):012:0> "test".object_id
=> -605784948

Dize 3 kaynaklar"", tüm farklı nesneleri. test

Bu semboller kullanarak potansiyel bir bellek iyi bir bit uygulamaya bağlı olarak kaydedebilirsiniz anlamına gelir. Aynı nesne olduğundan da eşitlik için sembolleri karşılaştırmak için hızlı, aynı dizeleri karşılaştırarak dize değerleri sadece nesne kimlikleri yerine göre olması gerektiğinden çok daha yavaş.

Gerçekten benzersiz bir tanımlayıcı istiyorum, ben genelde karma anahtarlar gibi şeyler dışında her şey için kullanan dizeleri, bir dize kullanmak için zaman kadar.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ampisound

    Ampisound

    12 Kasım 2006
  • boniver

    boniver

    17 NİSAN 2006
  • wwjoshdu

    wwjoshdu

    18 ŞUBAT 2011