54 lines
2.2 KiB
Markdown
54 lines
2.2 KiB
Markdown
---
|
||
title: Ruby Hashes
|
||
localeTitle: Рубиновые хеши
|
||
---
|
||
## Рубиновые хеши
|
||
|
||
Хэш представляет собой набор ключей и значений. Это похоже на то, что обычно называют словарем на других языках. В 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"
|
||
```
|
||
|
||
#### Дополнительная информация:
|
||
|
||
[Ручная хеш-документация](https://ruby-doc.org/core-2.4.2/Hash.html) |