[英]What's the best way to allow users to input fields that will be serialized as hashes or arrays?
[英]What's the difference between arrays and hashes?
Ruby中的數組和哈希之間有什么區別?
數組:數組用於存儲數據集合。 數組中的每個對象都有分配給它的唯一鍵。 我們可以使用此唯一鍵訪問數組中的任何對象。 數組中的位置從“ 0”開始。 第一個元素位於“ 0”,第二個元素位於第一個位置,依此類推。
示例:在-irb中嘗試以下操作。
bikes = Array.new
bikes = %w[Bajaj-Pulsar, Honda-Unicorn, TVS-Apache, Yamaha, Suzuki]
您已在數組中添加了4個元素。
puts bikes[3]
Yamaha,
在位置5添加一個新元素。
bikes[5] = "Hardly Davidson"
哈希:與數組一樣,哈希也用於存儲數據。 哈希將一個對象指向另一個對象。 考慮為字符串分配特定的“含義”。 每次引用該字符串時,都會引用其“含義”。
例:
bikes = Hash.new
bikes = {
'Bajaj' => 'Pulsar 220, Pulsar 200, Pulsar 180 and Pulsar 150',
'Honda' => 'Unicorn, Shine and Splendor',
'TVS' => 'Apache, Star City, and Victor'
}
立即嘗試:
bikes['Bajaj']
您將獲得=>“ Pulsar 220,Pulsar 200,Pulsar 180和Pulsar 150”
數組是事物的有序列表:a,b,c,d
哈希是鍵/值對的集合:約翰有標致,鮑勃有雷諾,亞當有福特。
最近,這兩個詞一起“變混了”。 我認為這是這樣的:
“哈希”將具有鍵->值對:
(top -> tshirt, bottom -> shorts, feet -> shoes)
一個“數組”通常會有一個索引:
([0]tshirt, [1]shorts, [2]shoes)
但是,對還是錯,您也會看到鍵->值對(稱為“數組”)的事物。
我認為差異主要取決於您何時以及如何使用它們。 將數組稱為散列不是很麻煩,反之亦然,但是您應該知道其中的區別。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.