Dostęp do elementów hasha
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 74 z 88.
Teraz, gdy wiesz już, jak tworzyć hasze, musisz pobierać przechowywane w nich wartości. W przeciwieństwie do tablic, w których używasz indeksów liczbowych, hasze używają kluczy, aby uzyskać dostęp do swoich wartości.
Umieść klucz w nawiasach kwadratowych, aby uzyskać odpowiadającą mu wartość:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person["name"] # Wyświetla: Alice
puts person["age"] # Wyświetla: 25Klucz musi dokładnie odpowiadać temu, którego użyto podczas tworzenia skrótu. Jeśli spróbujesz uzyskać dostęp do klucza, który nie istnieje, Ruby zwróci nil:
person = {"name" => "Alice", "age" => 25}
puts person["country"] # Wypisuje: (nic - nil)Możesz również użyć metody fetch, która pozwala podać wartość domyślną, gdy brakuje klucza:
person = {"name" => "Alice"}
puts person.fetch("name", "Unknown") # Wypisuje: Alice
puts person.fetch("country", "Unknown") # Wypisuje: UnknownJest to przydatne, gdy chcesz łagodnie obsługiwać brakujące klucze, zamiast otrzymywać nil.
Wyzwanie
ŁatwyOdczytaj cztery wiersze danych wejściowych:
- Nazwa produktu (łańcuch znaków)
- Cena (liczba zmiennoprzecinkowa)
- Liczba sztuk w magazynie (liczba całkowita)
- Klucz do wyszukania (łańcuch znaków)
Utwórz hash o nazwie product z następującymi parami klucz-wartość:
"name"przypisany do nazwy produktu"price"przypisany do ceny (jako liczba zmiennoprzecinkowa)"stock"przypisany do liczby sztuk (jako liczba całkowita)
Następnie użyj metody fetch, aby pobrać wartość klucza podanego w czwartym wierszu danych wejściowych. Jeśli klucz nie istnieje, użyj "<code>Not found" jako wartości domyślnej. Wyświetl wynik.
Na przykład, jeśli dane wejściowe to Laptop, 999.99, 15 i price, wynikiem powinno być:
999.99Jeśli dane wejściowe to Keyboard, 49.99, 100 i name, wynikiem powinno być:
KeyboardJeśli dane wejściowe to Mouse, 29.99, 50 i color, wynikiem powinno być:
Not foundJeśli dane wejściowe to Monitor, 299.0, 8 i stock, wynikiem powinno być:
8Spróbuj swoich sił
# Wczytaj dane wejściowe
product_name = gets.chomp
price = gets.chomp.to_f
quantity = gets.chomp.to_i
key_to_lookup = gets.chomp
# TODO: Napisz swój kod poniżej
# Utwórz hash o nazwie 'product' z kluczami "name", "price" i "stock"
# Następnie użyj metody fetch, aby pobrać wartość dla key_to_lookup
# Użyj dokładnego tekstu z instrukcji jako wartości domyślnej, jeśli klucz nie istnieje
# Wyświetl wynik
puts resultTa lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 47Kalkulator podziału rachunku
Wiadomość powitalnaPobieranie danych od użytkownika2Zmienne i typy danych
Liczby i zmienneTyp danych StringTyp danych BooleanTyp danych SymbolSprawdzanie typów danychKonwencje nazewnictwaPodsumowanie — tworzenie zmiennych5Podejmowanie decyzji
Instrukcja ifIf - elsePowtórka — prosty kalkulatorZagnieżdżone if - elseInstrukcja unless8Pętle
Pętla for z zakresamiPętla whilebreaknextPowtórka – silniaPętla timesPętla untilPętle zagnieżdżonePowtórka – dynamiczne wejście11Tablice
Tworzenie tablicDostęp do elementów tablicyModyfikowanie tablicMetody tablicPowtórka – tablica iloczynówPowtórka – odwrócona tablicaSkróty dotyczące tablic14Hasze
Tworzenie hashyDostęp do elementów hashaModyfikowanie hashyMetody hashyPodsumowanie – hash produktuSymbole jako klucze hashy3Operatory — część 1
Operatory arytmetyczneOperator moduloSkrócone operatory arytmetycznePodsumowanie — prosta matematykaOperatory porównania6Podstawowe wejście i wyjście
Wyświetlanie za pomocą putsWyświetlanie za pomocą print i pWyświetlanie zmiennychWczytywanie za pomocą getsMetoda chompKonwersja typówPodsumowanie – kalkulator wiekuPodsumowanie – prawda czy fałszPoćwicz samodzielnie: Kompilator Ruby online