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

  • AmeriiK_HD

    AmeriiK_HD

    16 AĞUSTOS 2012
  • chrmoe

    chrmoe

    7 Kasım 2006
  • Apple&Tech Reviews & Giveaways

    Apple&Tech R

    12 Temmuz 2008