Metody hashy
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 76 z 88.
Ruby udostępnia kilka wbudowanych metod, które pomagają skuteczniej sprawdzać hasze i pracować z nimi. Dzięki tym metodom możesz szybko uzyskać informacje o zawartości hasza.
Metoda keys zwraca tablicę wszystkich kluczy w haszu:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.keys # Wyświetla: name, age, cityPodobnie metoda values zwraca tablicę wszystkich wartości:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.values # Wyświetla: Alice, 25, ParisAby sprawdzić, czy istnieje określony klucz, użyj key? lub jego aliasu has_key?:
person = {"name" => "Alice", "age" => 25}
puts person.key?("name") # Wyświetla: true
puts person.key?("country") # Wyświetla: falseMetoda length informuje, ile par klucz-wartość zawiera hash:
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person.length # Wyświetla: 3Na koniec empty? sprawdza, czy hash zawiera jakiekolwiek pary:
data = {}
puts data.empty? # Wypisuje: trueWyzwanie
ŁatwyWczytaj dwa wiersze danych wejściowych:
- Hash zapisany jako oddzielone przecinkami pary klucz-wartość w formacie
key:value(np.name:Alice,age:25,city:Paris) - Klucz, którego istnienie należy sprawdzić (ciąg znaków)
Przeanalizuj pierwsze dane wejściowe, aby utworzyć hash, a następnie użyj poznanych metod hashy, aby wyświetlić poniższe informacje, każdą w osobnym wierszu:
- Wyświetl każdy klucz w hashu (jeden w każdym wierszu)
- Wyświetl
---jako separator - Wyświetl każdą wartość w hashu (jedną w każdym wierszu)
- Wyświetl
---jako separator - Wyświetl liczbę par klucz-wartość w hashu
- Wyświetl
---jako separator - Wyświetl
truelubfalse, wskazując, czy hash jest pusty - Wyświetl
---jako separator - Wyświetl
truelubfalse, wskazując, czy klucz z drugiego wiersza danych wejściowych istnieje w hashu
Na przykład, jeśli dane wejściowe to name:Alice,age:25,city:Paris i age, wynikiem powinno być:
name
age
city
---
Alice
25
Paris
---
3
---
false
---
trueJeśli dane wejściowe to product:Laptop,price:999 i stock, wynikiem powinno być:
product
price
---
Laptop
999
---
2
---
false
---
falseJeśli dane wejściowe to status:active i status, wynikiem powinno być:
status
---
active
---
1
---
false
---
trueSpróbuj swoich sił
# Wczytaj dane wejściowe
input_string = gets.chomp
key_to_check = gets.chomp
# Przetwórz ciąg wejściowy, aby utworzyć hash
hash = {}
input_string.split(',').each do |pair|
key, value = pair.split(':')
hash[key] = value
end
# TODO: Napisz swój kod poniżej
# Użyj metod hash, aby:
# 1. Wypisać każdy klucz (po jednym w wierszu)
# 2. Wypisać "---" jako separator
# 3. Wypisać każdą wartość (po jednej w wierszu)
# 4. Wypisać "---" jako separator
# 5. Wypisać liczbę par klucz-wartość
# 6. Wypisać "---" jako separator
# 7. Wypisać true/false w zależności od tego, czy hash jest pusty
# 8. Wypisać "---" jako separator
# 9. Wypisz true/false w zależności od tego, czy key_to_check istnieje w hashTa 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ście3Operatory — 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