Najlepszy samouczek Ruby skrótu (hash) W 2024 r. W tym samouczku możesz dowiedzieć się Tworzenie skrótu,Hash wbudowanej metody,
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.
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"
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, pl.) Zwraca nową tablicę zawierającą wartośćskrótuzwiązanego z danym kluczem. |