Latest web development tutorials

Ruby skrótu (hash)

Hash (hash) jest podobny do "klucza" => "wartość" takiego zbiór par klucz-wartość. Podobnie jak w przypadku macierzy mieszającej, ale nie jest ograniczony do stosowania numerów indeksu.

Indeks Hash (lub "klucz") może być niemal dowolny obiekt.

Hash tablica Chociaż podobna, ale jest to bardzo ważne rozróżnienie: Elementy Hash są w przypadkowej kolejności. Jeśli kolejność jest ważna, to powinien on korzystać z tablicy.

Tworzenie skrótu

Podobnie jak tablica, wiele różnych sposobów, aby utworzyć skrót. Można utworzyć pusty hash poprzeznowemetody klasy:

months = Hash.new

Można również użyćnowegoskrótu jest tworzony z wartościami domyślnymi, bez wartości domyślnej hash jestzerowa:

months = Hash.new( "month" )

或

months = Hash.new "month"

Po uzyskaniu dostępu do mieszania z wartościami domyślnymi w każdym kluczu, jeśli klucz lub wartość nie istnieje, powraca do domyślnej wartości hash dostępu:

#!/usr/bin/ruby

months = Hash.new( "month" )

puts "#{months[0]}"
puts "#{months[72]}"

Uruchom wyjście Powyższy przykład to:

month
month
#!/usr/bin/ruby

H = Hash["a" => 100, "b" => 200]

puts "#{H['a']}"
puts "#{H['b']}"

Uruchom wyjście Powyższy przykład to:

100
200

Można użyć dowolnego obiektu Ruby jako klucza lub wartości, lub można użyć tablicę, jak pokazano na przykładzie:

[1,"jan"] => "January"

Hash wbudowanej metody

Jeśli chcesz wywołać metodę Hash, trzeba instancję obiektu Hash. Oto sposób, aby utworzyć instancję obiektu Hash:

Hash[[key =>|, value]* ] or

Hash.new [or] Hash.new(obj) [or]

Hash.new { |hash, key| block }

Będzie to powrót dany obiekt wypełniony nowego skrótu. Teraz, wykorzystując obiekty stworzone, możemy wywołać dowolną z dostępnych metod. Na przykład:

#!/usr/bin/ruby

$, = ", "
months = Hash.new( "month" )

months = {"1" => "January", "2" => "February"}

keys = months.keys

puts "#{keys}"

Uruchom wyjście Powyższy przykład to:

["1", "2"]

Poniżej znajdują się powszechną metodą mieszania (zakładając Hash obiekthash):

Nie. Sposób i opis
1 hash == other_hash
Sprawdź, czy dwa mają taką samą wartość klucza hash dla liczby par klucz-wartość są dopasowane do siebie, aby ustalić, czy dwa hashe są równe.
2 hash. [key]
Za pomocą klawisza wartości referencyjnych z hash. Jeśli klucz nie zostanie znaleziony, a następnie powrót do wartości domyślnych.
3 hash. [key] = wartość
Wartośćpodana wartośćkluczazwiązanego z danym przyciskiem.
4 hash.clear
Usuń wszystkie klucze od skrótu.
5 hash.default (key = nil)
Zwraca wartość domyślnąhash,jeśli nie jest ustawiona domyślnie = zwraca nil. (Jeśli klucz nie istnieje wmieszania,a następnie [] zwraca wartość domyślną).
6 hash.default = obj
Ustaw domyślne wartościhash.
7 hash.default_proc
Jeśliskrótutworzony przez blok, blok zwrócone.
8 hash.delete (klucz) [lub]
array.delete (key) {| klucz | block}
Usuń z klawiszaskrótuza pomocą parykluczy.Jeżeli blok i nie znaleźć pasujące pary klucz-wartość, wyniki bloku jest zwracana. Porównaj to zdelete_if.
9 hash.delete_if {| klucz, wartość | block }
Prawdąjest, dla każdego bloku bloku, usuńkluczzhash.
10 hash.each {| klucz, wartość | block }
Traversehash,zwany raz dla każdegokluczowegobloku przekazać klucz-wartość jako tablicę dwóch elementów.
11 hash.each_key {| klucz | block}
Traversehash,zwany raz dla każdegokluczowegobloku przekazaćkluczjako parametr.
12 hash.each_key {| key_value_array | block}
Traversehash,zwany raz dla każdegokluczowegobloku przekazaćklucziwartośćjako argumenty.
13 hash.each_value {| wartość | block}
Traversehash,zwany raz dla każdegokluczowegobloku, przekazywane jakowartości parametru.
14 hash.empty?
Sprawdź, czy mieszania jest pusta (nie zawiera par klucz-wartość) i zwracaprawdęlubfałsz.
15 hash.fetch (klawisz [domyślnie]) [lub]
hash.fetch (key) {| klucz | block}
Wartość zwracana zhashaprzez danyklucz.Jeśli nie możesz znaleźćklucz,a nie dostarczył dodatkowych parametrów, rzucać wyjątekIndexError;jeśli podanodomyślne,zwracadomyślne,jeśli opcjonalny blok, blok wynik jest zwracany.
16 hash.has_key? (klucz) [lub] hash.include? (klucz) [lub]
hash.key? (klucz) [lub] hash.member? (klucz)
Sprawdź, czy danykluczistnieje w hash, zwracaprawdęlubfałsz.
17 hash.has_value? (wartość)
Sprawdź, czy hash zawiera podanąwartość.
18 hash.index (wartość)
Zwroty dla danejwartościklucza hash, jeśli nie znaleziono zwrócinil.
19 hash.indexes (klucze)
Zwraca nową tablicę według wartości danego kluczowych komponentów. Nie można znaleźć klucz, aby wstawić wartość domyślną. Metoda ta została zaniechana, należy użyć select.
20 hash.indices (klucze)
Zwraca nową tablicę według wartości danego kluczowych komponentów. Nie można znaleźć klucz, aby wstawić wartość domyślną. Metoda ta została zaniechana, należy użyć select.
21 hash.inspect
Powrót do druku wersja hash ciąg.
22 hash.invert
Utwórz nowyhash,hash inwersjękluczeiwartości.Innymi słowy, w nowymhash,hash wartość staje się kluczem, wartość będzie kluczem.
23 hash.keys
Utwórz nową tablicę z klawiszemskrótu./ Td>
24 hash.length
Zwraca całkowitą wielkośćkrzyżykalub długości.
25 hash.merge (other_hash) [lub]
hash.merge (other_hash) {| Klucz, oldval, newval | block}
Zwraca nowy hash,hashzawiera treści iother_hashprzepisuje klawisz krzyżyka zother_hashduplikat pary kluczy.
26 hash.merge! (other_hash) [lub]
hash.merge (other_hash)! {| Klucz , oldval, newval | block}
I połączyć to samo, ale w rzeczywistości hash uległ zmianie.
27 hash.rehash
Ponowne ustaleniehashna podstawie bieżącej wartości każdegoklucza.Po włożeniu wartość uległa zmianie, proces zostanie ponownie indeksowanehash.
28 hash.reject {| klucz, wartość | block }
Tak jak wprzypadkukażdego kluczowegobloku,aby utworzyć nowyskrót.
29 hash.reject! {| klucz, wartość | block}
Iodrzucajątakie same, ale w rzeczywistości hash uległ zmianie.
30 hash.replace (other_hash)
Wymień zawartośćhashother_hash treści.
31 hash.select {| klucz, wartość | block }
Zwraca nową tablicę,blokzwracaTruewartości kluczahashw par.
32 hash.shift
Usuń zmieszaniasię w pary kluczy i wysyła wartość klucza zwracana jako tablica dwóch elementów.
33 hash.size
Zwracahashcałkowitąwielkośćlub długości.
34 hash.sort
Hashjest konwertowany do dwuwymiarowej tablicy zawierającej tablicę klucz-wartość, a następnie sortowane.
35 hash.store (klucz, wartość)
Hashprzechowywane w parę klucz-wartość.
36 hash.to_a
Tworzenie dwuwymiarową tablicę z hash. Każda para klucz-wartość do tablicy, wszystkie te tablice są przechowywane w tablicy.
37 hash.to_hash
Zwracahash (self).
38 hash.to_s
Hashjest konwertowany do tablicy, to tablica jest konwertowana do łańcucha.
39 hash.update (other_hash) [lub]
hash.update (other_hash) {| Klucz, oldval, newval | block}
Zwraca nowy hash,hashzawiera treści iother_hashprzepisuje klawiszkrzyżykazother_hashduplikat pary kluczy.
40 hash.value? (wartość)
Sprawdź, czyhashzawiera podanąwartość.
41 hash.values
Zwraca nową tablicę zawierającą wszystkie wartościhash.
42 hash.values_at (obj, ...)
Zwraca nową tablicę zawierającą wartośćskrótuzwiązanego z danym kluczem.