Tworzenie hashy
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 73 z 88.
Tablice świetnie nadają się do przechowywania uporządkowanych list, ale czasami trzeba powiązać wartości z konkretnymi etykietami, a nie indeksami liczbowymi. Hash przechowuje dane w postaci par klucz-wartość, gdzie każdy klucz wskazuje odpowiadającą mu wartość.
Aby utworzyć hash, użyj nawiasów klamrowych z kluczami i wartościami oddzielonymi przez => (nazywane strzałką hasha):
person = {"name" => "Alice", "age" => 25, "city" => "Paris"}
puts person # Wyświetla: {"name"=>"Alice", "age"=>25, "city"=>"Paris"}Każdy klucz musi być unikalny w obrębie hasha, ale wartości mogą się powtarzać. Klucze i wartości mogą być dowolnego typu danych, w tym ciągami znaków, liczbami, a nawet tablicami.
Możesz też utworzyć pusty hash i dodać pary później:
scores = {}
puts scores # Wyświetla: {}Tablice asocjacyjne świetnie nadają się do reprezentowania rzeczywistych obiektów z nazwanymi atrybutami, takich jak produkt z nazwą i ceną albo użytkownik z adresem e-mail i hasłem. W przeciwieństwie do tablic, w których trzeba pamiętać pozycje, tablice asocjacyjne pozwalają używać znaczących nazw do organizowania danych.
Wyzwanie
ŁatwyWczytaj trzy wiersze danych wejściowych:
- Tytuł książki (ciąg znaków)
- Imię i nazwisko autora (ciąg znaków)
- Rok publikacji (liczba całkowita)
Utwórz hash o nazwie book z trzema parami klucz-wartość, używając składni hash rocket (=>):
"title"przyporządkowany do tytułu książki"author"przyporządkowany do imienia i nazwiska autora"year"przyporządkowany do roku publikacji (jako liczby całkowitej)
Wypisz hash za pomocą puts.
Na przykład, jeśli dane wejściowe to Ruby Basics, Jane Smith i 2023, wynik powinien wyglądać tak:
{"title"=>"Ruby Basics", "author"=>"Jane Smith", "year"=>2023}Jeśli dane wejściowe to The Great Gatsby, F. Scott Fitzgerald i 1925, wynik powinien wyglądać tak:
{"title"=>"The Great Gatsby", "author"=>"F. Scott Fitzgerald", "year"=>1925}Jeśli dane wejściowe to 1984, George Orwell i 1949, wynik powinien wyglądać tak:
{"title"=>"1984", "author"=>"George Orwell", "year"=>1949}Spróbuj swoich sił
# Wczytaj dane wejściowe
title = gets.chomp
author = gets.chomp
year = gets.to_i
# TODO: Utwórz hash o nazwie 'book' z trzema parami klucz-wartość, używając składni hash rocket (=>)
# Klucze powinny być następujące: "title", "author", "year"
# Wyświetl hash
puts bookTa 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