Przegląd metod łańcuchów znaków
Część sekcji Logika i przepływ programu ścieżki Ruby w Coddy. Lekcja 1 z 56.
Ruby udostępnia ciągom znaków bogaty zestaw wbudowanych metod do typowych przekształceń. Nie potrzebujesz dodatkowych bibliotek — metody te są dostępne dla każdego utworzonego przez Ciebie ciągu znaków.
Niektóre z najbardziej przydatnych zmieniają wielkość liter lub usuwają białe znaki:
name = " Alice "
puts name.strip # "Alice"
puts name.upcase # " ALICE "
puts name.downcase # " alice "
puts name.reverse # " ecilA "Inne metody pozwalają dowiedzieć się czegoś o ciągu znaków:
word = "hello"
puts word.length # 5
puts word.include?("ell") # true
puts word.start_with?("he") # trueWiększość z nich zwraca nowy ciąg znaków. Oryginał pozostaje bez zmian, chyba że użyjesz wersji z wykrzyknikiem (np. upcase!).
Wyzwanie
PoczątkującyOdczytaj jeden wiersz danych wejściowych. Wypisz w osobnych wierszach:
- Dane wejściowe z usuniętymi początkowymi i końcowymi białymi znakami
- Otrzymaną wartość zapisaną wielkimi literami
- Długość otrzymanej wartości
truelubfalse: czy otrzymana wartość zawiera"ruby"(bez rozróżniania wielkości liter)?
Dla danych wejściowych Hello Ruby world wynikiem jest:
Hello Ruby world
HELLO RUBY WORLD
16
trueSpróbuj swoich sił
input = gets.chomp
# TODO: wypisz cztery wymagane linie
Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Logika i przepływ programu
1Łańcuchy znaków w szczegółach
Przegląd metod łańcuchów znakówInterpolacja łańcuchów znakówIterowanie po łańcuchach znakówDzielenie i łączeniePowtórka – Tkacz łańcuchów znaków4Bloki, procki i lambdy
Czym jest blok?do..end a nawiasy klamroweSłowo kluczowe yieldParametry blokuProcki i lambdyPodsumowanie — własny iterator7Hashe, część 2
Hash.new z wartościami domyślnymiIterowanie po haszachZagnieżdżone haszeŁączenie i przekształcaniePowtórka — licznik częstotliwości10Projekt – ewidencja uczniów
Przegląd projektuDodawanie ucznia5Potęga Enumerable
Select i RejectŁączenie wywołań mapReduce / Injectcount, all?, any?, none?group_by i partitionsort_by, min_by, max_byPodsumowanie — potok danych8Zaawansowane podejmowanie decyzji
case z klasami i wyrażeniami regularnymiwhen z wieloma wartościamiOperator trójargumentowyInline if / unlessPowtórka – klasyfikator ocenPoćwicz samodzielnie: Kompilator Ruby online