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

  • karneson

    karneson

    23 Temmuz 2006
  • oHeymarvin

    oHeymarvin

    11 Temmuz 2013
  • Paste Magazine

    Paste Magazi

    28 AĞUSTOS 2008