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) |