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

  • alex maybury

    alex maybury

    20 Aralık 2007
  • megablueblaster

    megablueblas

    23 HAZİRAN 2006
  • Photoshop Training Channel

    Photoshop Tr

    13 Temmuz 2012