54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | ||
| title: Ruby Hashes
 | ||
| localeTitle: Ruby Hashes
 | ||
| ---
 | ||
| ## Ruby Hashes
 | ||
| 
 | ||
| 哈希是键和值的集合。它类似于其他语言中通常所说的字典。在Ruby中,散列类似于[数组](https://raw.githubusercontent.com/freeCodeCamp/guides/master/src/pages/ruby/ruby-arrays/index.md) ,但不是简单地存储它存储键值对的值。
 | ||
| 
 | ||
| ```ruby
 | ||
| array = ["value"] 
 | ||
|  hash = { "key" => "value" } 
 | ||
| ```
 | ||
| 
 | ||
| 创建新哈希有几种不同的方法:
 | ||
| 
 | ||
| ```ruby
 | ||
| hash1 = {a: 100, b: "200"} 
 | ||
|  hash2 = Hash.new 
 | ||
|  hash3 = Hash.new(0) # with default value set to 0 
 | ||
| ```
 | ||
| 
 | ||
| 然后,程序员可以使用其键而不是索引来访问哈希值。
 | ||
| 
 | ||
| ```ruby
 | ||
| array[0] # => "value" 
 | ||
|  hash["key"] # => "value" 
 | ||
| ```
 | ||
| 
 | ||
| 通过这种方式,哈希的行为更像是字典,您可以通过其键查找值。
 | ||
| 
 | ||
| ```ruby
 | ||
| dictionary = { "Aardvark" => "a large, nocturnal, burrowing mammal", 
 | ||
|                "Zyzzyva" => "a genus of tropical weevils" } 
 | ||
|  dictionary["Aardvark"] # => "a large, nocturnal, burrowing mammal" 
 | ||
|  dictionary["Zyzzyva"] # => "a genus of tropical weevils" 
 | ||
| ```
 | ||
| 
 | ||
| 您还可以使用[符号](#)作为键创建哈希。
 | ||
| 
 | ||
| ```ruby
 | ||
| hash = { :symbol => "value" } 
 | ||
|  hash[:symbol] # => "value" 
 | ||
| ```
 | ||
| 
 | ||
| 此外,如果您的所有键都是[符号](#) ,则可以使用此备用格式编写哈希值,但您可以以相同的方式访问它:
 | ||
| 
 | ||
| ```ruby
 | ||
| hash = { symbol: "value" } 
 | ||
|  hash[:symbol] # => "value" 
 | ||
| ```
 | ||
| 
 | ||
| #### 更多信息:
 | ||
| 
 | ||
| [Ruby哈希文档](https://ruby-doc.org/core-2.4.2/Hash.html) |