Wypisywanie bez znaku nowej linii
W lekcji 3 widzieliście, że każde wywołanie puts automatycznie rozpoczyna nowy wiersz po wyświetleniu treści. To dobrze, gdy chcesz uzyskać trzy wiersze wyniku. Gorzej jednak, gdy chcesz, aby trzy fragmenty tekstu były połączone w jednym wierszu.
Spróbuj tego:
puts "Wynik: "
puts 10
Wynik:
Wynik:
10
Prawdopodobnie chciałeś uzyskać Wynik: 10 w jednym wierszu. Przeszkodził ci niewidoczny znak końca wiersza z puts.
W tej lekcji dowiesz się, jak wyświetlać tekst bez przechodzenia do nowego wiersza po jego wyświetleniu, używając print, oraz kiedy faktycznie jest to lepsze rozwiązanie niż puts.
print działa niemal dokładnie tak samo jak puts. Przyjmuje tekst w cudzysłowach i wyświetla go na ekranie. Jedyna różnica: nie dodaje znaku końca wiersza na końcu.
Oznacza to, że cokolwiek wypiszesz potem za pomocą print lub puts, pojawi się bezpośrednio po tym, w tym samym wierszu.
Przyklady
print "Hello, "
print "world!"
Wynik:
Hello, world!
Mamy dwa oddzielne wywołania print, ale wynik wygląda jak jedno zdanie. Nic nie spowodowało przejścia drugiego fragmentu tekstu do nowej linii, więc znalazł się on bezpośrednio po pierwszym.
Zwróć uwagę na dodatkową spację po Hello,
Teraz połącz print i puts w tym samym kodzie i pamiętaj o lekcji 4: Ruby wykonuje te linie od góry do dołu, dokładnie w tej kolejności.
print "Wynik: "
puts 10
puts "Koniec gry"
Wynik:
Wynik: 10
Koniec gry
Funkcja print umieściła Wynik: w wierszu bez znaku końca wiersza. Następnie puts 10 wyświetliło 10 zaraz po tym, w tym samym wierszu, i dopiero wtedy dodało własny znak końca wiersza. Kolejne puts rozpoczęło się od nowa w nowym wierszu.
Dlaczego?
Funkcje puts i print pełnią zasadniczo tę samą funkcję: wyświetlają coś na ekranie. Jedyna różnica polega na tym, co dzieje się potem. Funkcja puts zawsze dodaje niewidoczny znak końca linii (tak jakbyś na końcu kliknął ENTER). Funkcja print nigdy tego nie robi.
Ta jedna różnica decyduje o tym, którą z nich wybrać. Potrzebujesz czystego, oddzielnego wiersza dla każdego wywołania puts? Użyj puts. Chcesz utworzyć jeden wiersz z kilku elementów, na przykład "Wynik: ", po którym następuje liczba? Użyj print.
Typowe błędy
Używanie print w każdym wierszu, co skutkuje powstaniem jednego długiego bloku tekstu. Jeśli napiszesz kilka wywołań print pod rząd bez użycia puts, wszystko połączy się w jedną całość bez żadnych odstępów.
Oczekiwanie, że print doda spację między fragmentami. print „Hello”, a po nim print „world” daje wynik Helloworld, a nie Hello world. print nie dodaje niczego dodatkowego – ani spacji, ani znaku końca linii. Jeśli chcesz mieć spację, musisz wpisać ją samodzielnie, wewnątrz cudzysłowów.
Podsumowanie
printwyświetla tekst na ekranie, tak samo jakputs.printnie dodaje po sobie znaku końca linii, natomiastputszawsze to robi.- Kilka wywołań
printpod rząd trafia do tej samej linii, jedno po drugim. printnie dodaje też spacji; drukowane jest tylko to, co znajduje się w cudzysłowach.- Używaj
puts, aby wyświetlać treść w osobnych wierszach, aprint, gdy chcesz, aby fragmenty pozostały w jednym wierszu.
Ćwiczenie
Zadanie programistyczne
Napisz kod wykorzystujący funkcje print i puts, który wyświetli dokładnie taki wynik, w dwóch wierszach:
Imię: Patryk
Wiek: 25
Następnie napisz drugą wersję, w której zamienisz wszystkie wystąpienia print na puts, a wszystkie wystąpienia puts na print. Uruchom kod i opisz w jednym zdaniu, jak zmienił się wynik.
Tutaj pojawi się wynik działania Twojego programu.