Ruby] Standardowe wejście wyjście wyświetlanie na ekranie i czytanie z klawiatury

[Ruby] Standardowe wejście/wyjście – wyświetlanie na ekranie i czytanie z klawiatury

Żeby wyświetlić na STDOut dane mamy do dyspozycji:

W tym skrypcie będziemy wyświetlali string:

str="jestem wyswietlany przez: "

Są duże różnice w tych wywołaniach, ale są widoczne na pierwszy rzut oka.

Cały skrypt wygląda tak:

str="jestem wyswietlany przez: "
p "#{str} p"
puts "#{str} puts"
print "#{str} print"
puts "--=to jest koniec skryptu==--"
Opis tego skryptu:
1. podanie stringu
2. wyświetlenie przy pomocy p
3. wyświetlenie przy pomocy puts
4. wyświetlenie przy pomocy print
5. dodatek, który jest tutaj potrzebny ze względu na zasadę działania polecenia print.

puts od print, różni się dodaniem znaku EOL na końcu wyświetlanych danych. Czyli puts zakończy nam linijkę, a print nie, czyli, żęby estetycznie wyglądało musiałem na końcu dodać puts. Inaczej prompt konsolowy “zlałby się” z wynikiem skryptu.

Wykonanie skryptu:

$ ruby1.9.1 ruby.rb 
"jestem wyswietlany przez:  p"
jestem wyswietlany przez:  puts
jestem wyswietlany przez:  print--=to jest koniec skryptu==-

Widać ładnie ;)

Poza tymi standardowymi metodami są jeszcze inne, ale w tym momencie odsyłam do dokumentacji.

Pobieranie danych.

Robimy to za pomocą wartości gets. Pierwszą linijkę skryptu zamieniamy na:

str=gets

Jest to najbardziej tradycyjna metoda. Ma jednak wadę. Przy wczytywaniu danych wczytuje też ostatni znak podany z klawiatury, czyli EOL.

Przy tej metodzie należy się uciąć ten ostatni znak ze stringu przy użyciu .chomp. Skrypt wygląda teraz tak:

str=gets.chomp
p "#{str} p"

puts “#{str} puts”
print “#{str} print”
puts “–=to jest koniec skryptu==–”

A jego wykonanie tak:

$ ruby1.9.1 ruby.rb 
sagasgasg
"sagasgasg p"
sagasgasg puts
sagasgasg print--=to jest koniec skryptu==--

Jako drobną poprawkę, bardziej estetyczną, przed ostatnią linijkę zamieniamy na:

print "#{str} printn"

Da nam to taki wynik:

$ ruby1.9.1 ruby.rb 
wehWWaehae
"wehWWaehae p"
wehWWaehae puts
wehWWaehae print
--=to jest koniec skryptu==--

Czyli jakby zamieni print w puts.

gets pobiera dane wejściowe jako stringi. Konwersja do innego typu wygląda tak:

Pobranie danych i przekonwertowanie ich “w locie” tak:

print "podaj pierwsza liczbe: "
liczba1=gets.chomp.to_i
print "podaj druga liczbe: "
liczba2=gets.chomp.to_i
puts "po dodaniu: #{liczba1+liczba2}"

Wykonanie skryptu to:

$ ruby1.9.1 ruby.rb 
podaj pierwsza liczbe: 2
podaj druga liczbe: 2
po dodaniu: 4

A teraz zobaczmy co się stanie gdy ze skryptu usunę to_i

$ ruby1.9.1 ruby.rb 
podaj pierwsza liczbe: 432
podaj druga liczbe: 3
po dodaniu: 4323

Stało się tyle, że interpreter Ruby dodał do siebie stringi. Nie liczby, bo liczb tam nie było.

Teraz przyjrzyjmy się ciekawostce konwertera liczb:

Jak łatwo zmienić zapis liczbowy:

liczba.to_i(podstawa)

oznacza tylko co, przekształć podaną w liczbę tak by podać jej wynik w podanym systemie liczbowym podstawie podanej w nawiasie.

liczba="1010101110101"
for i in 2..10
puts "wartosc w #{i} systemie liczbowym to: "+liczba.to_i(i).to_s
end

Skrypt da taki wynik:

wartosc w 2 systemie liczbowym to: 5493
wartosc w 3 systemie liczbowym to: 598114
wartosc w 4 systemie liczbowym to: 17896721
wartosc w 5 systemie liczbowym to: 254316276
wartosc w 6 systemie liczbowym to: 2238983893
wartosc w 7 systemie liczbowym to: 14129664158
wartosc w 8 systemie liczbowym to: 69810294849
wartosc w 9 systemie liczbowym to: 285959964736
wartosc w 10 systemie liczbowym to: 1010101110101

Należy dodać, że wartość podstawy to zakres liczbowy 2..32.

Zakresy były pokazane w dziale z pętlami.*



Wyszukiwarka

Podobne podstrony:
Ruby] Standardowe wejście wyjście wyświetlanie na ekranie i czytanie z klawiatury
Urzadzenia wejscia wyjscia praca na zaliczenie
Wyświetlanie tekstu na ekranie
Podstawowe urządzenia wejścia-wyjścia wchodzące w skład zest, wrzut na chomika listopad, Informatyka
Analiza porównawcza na wejściu i wyjściu, Testy, sprawdziany, konspekty z historii
Wyświetlanie tekstu na ekranie
Czym jest standardowe wejście
Porty wejścia wyjścia
12 uklad wejscia wyjscia 8255
Szafranowe bułeczki z twarożkiem, gotowanie na ekranie
Słodkie bułeczki z brandy, gotowanie na ekranie
Kokosowe bułeczki, gotowanie na ekranie
Bardzo puszyste bułeczki, gotowanie na ekranie
Standardy sprawozdawczości 14 zagadnienia na egzamin
WEJŚCIE WYJŚCIE
wymiana wyswietlacz na kolor p12
Układ uniwersalnego, równoległego portu wejścia wyjścia?55
Ćwiczenia na trudności z czytaniem i pisaniem

więcej podobnych podstron