Metoda Include?
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 72 z 88.
Podczas pracy z tablicami często trzeba sprawdzić, czy istnieje konkretny element, zanim wykona się jakąś czynność. Metoda Ruby include? bezpośrednio odpowiada na to pytanie, zwracając true lub false.
fruits = ["apple", "banana", "orange"]
puts fruits.include?("banana") # Wypisuje: true
puts fruits.include?("grape") # Wypisuje: falseMetoda sprawdza dokładne dopasowanie, więc w przypadku ciągów znaków rozróżnia wielkość liter:
colors = ["Red", "Green", "Blue"]
puts colors.include?("Red") # Wypisuje: true
puts colors.include?("red") # Wypisuje: falseTa metoda jest szczególnie przydatna w instrukcjach warunkowych. Zamiast przeszukiwać tablicę w pętli, aby znaleźć element, możesz po prostu zapytać, czy się w niej znajduje:
allowed_users = ["alice", "bob", "charlie"]
current_user = "bob"
if allowed_users.include?(current_user)
puts "Access granted"
else
puts "Access denied"
endMetoda include? działa z dowolnym typem danych przechowywanym w tablicy, w tym z liczbami, symbolami, a nawet innymi tablicami.
Wyzwanie
ŁatwyWczytaj dwa wiersze danych wejściowych:
- Listę dostępnych produktów w sklepie, zapisanych jako ciągi znaków rozdzielone przecinkami (np.
apple,banana,orange,milk,bread) - Listę produktów z Twojej listy zakupów, zapisanych jako ciągi znaków rozdzielone przecinkami (np.
banana,eggs,milk,cheese)
Dla każdego produktu z listy zakupów sprawdź, czy jest dostępny w sklepie, używając metody include?. Wypisz każdy produkt, a po nim Available lub Not available, w zależności od tego, czy znajduje się w asortymencie sklepu.
Pamiętaj, że include? sprawdza dokładne dopasowania, więc przy porównaniu rozróżniana jest wielkość liter.
Na przykład, jeśli dane wejściowe to apple,banana,orange,milk,bread i banana,eggs,milk,cheese, wynikiem powinno być:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableJeśli dane wejściowe to Red,Green,Blue i red,Green,Yellow, wynikiem powinno być:
red - Not available
Green - Available
Yellow - Not availableJeśli dane wejściowe to coffee,tea,juice i coffee,water,tea, wynikiem powinno być:
coffee - Available
water - Not available
tea - AvailableJeśli dane wejściowe to pen,pencil,eraser i pen, wynikiem powinno być:
pen - AvailableSpróbuj swoich sił
# Wczytaj asortyment sklepu (produkty oddzielone przecinkami)
store_items = gets.chomp.split(",")
# Wczytaj listę zakupów (produkty oddzielone przecinkami)
shopping_list = gets.chomp.split(",")
# TODO: Napisz swój kod poniżej
# Dla każdego produktu z listy zakupów sprawdź, czy jest dostępny w sklepie
# używając metody include?, i wypisz wynikTa 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żytkownika13Zaawansowane tablice
Wycinanie tablic za pomocą zakresówWycinanie tablic za pomocą indeksówOperatory tablicMetoda Include?2Zmienne 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