第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

‘:key=>’value‘和’key:‘value’散列符號之間有什么區(qū)別嗎?

‘:key=>’value‘和’key:‘value’散列符號之間有什么區(qū)別嗎?

牛魔王的故事 2019-06-18 13:01:34
‘:key=>’value‘和’key:‘value’散列符號之間有什么區(qū)別嗎?有什么區(qū)別嗎:key => "value"(哈?;鸺?和key: "value"(Ruby 1.9)符號?如果沒有,那么我想用key: "value"符號。有什么寶石能幫我從:x =>到x:符號?
查看完整描述

3 回答

?
狐的傳說

TA貢獻(xiàn)1804條經(jīng)驗(yàn) 獲得超3個贊

是的,這是有區(qū)別的。這些都是合法的:

h = { :$in => array }h = { :'a.b' => 'c' }h[:s] = 42

但這些并不是:

h = { $in: array }h = { 'a.b': 'c' } # but this is okay in Ruby2.2+h[s:] = 42

您也可以使用任何東西作為密鑰=>所以你可以這么做:

h = { C.new => 11 }h = { 23 => 'pancakes house?' }

但你不能這么做

h = { C.new: 11 }h = { 23: 'pancakes house?' }

JavaScript樣式(key: value)只有當(dāng)您的所有哈希鍵都是“簡單”符號(或多或少匹配的東西)時(shí)才有用。/\A[a-z_]\w*\z/i,AFAIK解析器對這些鍵使用其標(biāo)簽?zāi)J?。

這個:$in在使用MongoDB時(shí),樣式符號顯示得很好,所以如果使用MongoDB,您最終會混合散列樣式。如果您曾經(jīng)使用過特定的散列鍵(h[:k])而不僅僅是整個哈希(h = { ... }),您仍然必須對符號使用冒號第一樣式;對于在散列之外使用的符號,還必須使用前導(dǎo)冒號樣式。我更喜歡保持一致,所以我根本不需要使用JavaScript樣式。

JavaScriptStyle的一些問題已經(jīng)在Ruby2.2中解決了。如果您的符號不是有效的標(biāo)簽,那么現(xiàn)在可以使用引號,例如:

h = { 'where is': 'pancakes house?', '$set': { a: 11 } }

但是如果你的鑰匙不是符號的話,你仍然需要哈希火箭。


查看完整回答
反對 回復(fù) 2019-06-18
?
森林海

TA貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個贊

key: "value"是Ruby1.9的一個方便特性;只要您知道您的環(huán)境將支持它,我就沒有理由不使用它。輸入冒號比輸入火箭容易得多,而且我認(rèn)為它看上去要干凈得多。至于有一個GEM來進(jìn)行轉(zhuǎn)換,可能不會,但是如果您還不知道文件操作和正則表達(dá)式,那么這似乎是一種理想的學(xué)習(xí)體驗(yàn)。


查看完整回答
反對 回復(fù) 2019-06-18
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個贊

這個key: valueJSON風(fēng)格的賦值是新的Ruby1.9散列語法的一部分,所以請記住,這種語法不會適用于較早版本的Ruby。而且,鑰匙將是符號。如果您可以使用這兩個約束,那么新哈希就像舊哈希那樣工作;沒有任何理由(除了樣式)來轉(zhuǎn)換它們。


查看完整回答
反對 回復(fù) 2019-06-18
  • 3 回答
  • 0 關(guān)注
  • 1055 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號