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

  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • Orson Wang

    Orson Wang

    28 EKİM 2006
  • JeezyVEVO

    JeezyVEVO

    12 Mayıs 2009