Metoda Include?
Część sekcji Podstawy ścieżki Ruby w Coddy. Lekcja 72 z 88.
Podczas pracy z tablicami często musisz sprawdzić, czy istnieje określony element, zanim wykonasz jakąś czynność. Metoda include? języka Ruby 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 przeglądać tablicę w poszukiwaniu elementu, możesz po prostu sprawdzić, czy się tam 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 w sklepie produktów, zapisanych jako ciągi znaków oddzielone przecinkami (np.
apple,banana,orange,milk,bread) - Listę produktów z listy zakupów, zapisanych jako ciągi znaków oddzielone przecinkami (np.
banana,eggs,milk,cheese)
Dla każdego produktu z listy zakupów sprawdź za pomocą metody include?, czy jest dostępny w sklepie. Wypisz każdy produkt, a następnie Available lub Not available, zależnie od tego, czy znajduje się w asortymencie sklepu.
Pamiętaj, że include? sprawdza dokładne dopasowania, więc rozróżnia wielkość liter.
Na przykład, jeśli dane wejściowe to apple,banana,orange,milk,bread oraz banana,eggs,milk,cheese, dane wyjściowe powinny wyglądać tak:
banana - Available
eggs - Not available
milk - Available
cheese - Not availableJeśli dane wejściowe to Red,Green,Blue oraz red,Green,Yellow, dane wyjściowe powinny wyglądać tak:
red - Not available
Green - Available
Yellow - Not availableJeśli dane wejściowe to coffee,tea,juice oraz coffee,water,tea, dane wyjściowe powinny wyglądać tak:
coffee - Available
water - Not available
tea - AvailableJeśli dane wejściowe to pen,pencil,eraser oraz pen, dane wyjściowe powinny wyglądać tak:
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