Orada arasında herhangi bir fark var `:key => "değer"` ve `key: "değer"` karma gösterimler?
** 5 (hashrocket) ve key: "value"
(Ruby 1.9) gösterimler arasında herhangi bir fark var mı?
Eğer değilse, o zaman key: "value"
gösterimde kullanmak istiyorum. Beni x:
gösterimler :x =>
dönüştürmek için yardımcı olan bir taş var mı?
CEVAP
Evet, bir fark var. Bu yasal
h = { :$in => array }
h = { :'a.b' => 'c' }
h[:s] = 42
ama bu değildir:
h = { $in: array }
h = { 'a.b': 'c' } # but this is okay in Ruby2.2
h[s:] = 42
Siz de yapabilirsiniz böylece =>
ile bir anahtar gibi bir şey kullanabilirsiniz:
h = { C.new => 11 }
h = { 23 => 'pancakes house?' }
ama bunu yapamazsın:
h = { C.new: 11 }
h = { 23: 'pancakes house?' }
JavaScript tarzı (key: value
) sadece yararlı eğer senin Karma anahtarları "basit" simgeler (daha fazla veya daha az bir şey bu maçları /\A[a-z_]\w\z/i
, AFAIK çözümleyici kullanır etiketini desen için bu tuşlar).
:$in
stil simgeler eğer MongoDB kullanırsanız Karma stilleri karıştırma sonun kadar MongoDB kullanarak zaman adil bir bit göstermek. Ve, eğer hiç iş ile özel anahtarları Karma (h[:k]
) yerine tüm karma (h = { ... }
), hala kullanmak zorunda kolon-ilk stil için semboller; olacak da kullanmak lider-kolon tarzı için sembolleri kullanmak dışında Karıştırır. JavaScript tarzı ile hiç rahatsız değilim bu kadar tutarlı olmasını tercih ederim.
JavaScript tarzı ile bazı sorunlar Ruby 2.2 giderildi. Şimdi, örneğin: etiketler geçerli olmayan simgeler varsa tırnak kullanabilirsiniz
h = { 'where is': 'pancakes house?', '$set': { a: 11 } }
Ama yine de eğer anahtarları sembolleri değilse hashrocket gerekiyor.
& = = &Quot Hiçbiri foo quot;foo Yok &...
Ne fark var arasında #include <file...
&Quot arasında;fark Dizi ne()" ve...
'arasında " fark;git reset&qu...
&Quot;at" ve "eski" atma...