freeCodeCamp/guide/chinese/ruby/ruby-hashes/index.md

54 lines
1.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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