Ruby/Proste przykłady: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
Szymon wro (dyskusja | edycje)
mNie podano opisu zmian
Szymon wro (dyskusja | edycje)
Linia 10:
W Rubim mozemy ją napisać w następujący sposób:
 
<pre>
<source lang="ruby">
def fact(n)
if n == 0
Linia 18:
end
end
</sourcepre>
 
Warto zauważyć powtarzające się wyrażenie <tt>end</tt>. Ruby nazywany jest przez to "Algolopodobnym" językiem programowania. (Właściwie składnia Rubiego bardziej przypomina inny język Eiffel.) Można także zauważyć brak wyrażeń <tt>return</tt>. Nie są one potrzebne, ponieważ funkcje w Rubim zwracają ostatnie wartości, które były w niej liczone. Używanie tutaj wyrażenia <tt>return</tt> jest dozwolone, lecz niepotrzebne.
Linia 24:
Wypróbujmy naszą funkcję silni. Dodanie jednej linii kodu daje nam działający program:
 
<pre>
<source lang="ruby">
# Program, ktory liczy wartosc silnii z danej liczby
# Zapisz go jako fact.rb
Linia 37:
 
puts fact(ARGV[0].to_i)
</sourcepre>
 
<tt>ARGV</tt> jest tutaj tablicą zawierającą argumenty linii poleceń, a <tt>to_i</tt> konwertuje łańcuch na liczbę całkowitą.
Linia 83:
Kiedy wywołasz Rubiego bez argumentów, wczyta on komendy ze standardowego wejścia i wykona je po zakończeniu wprowadzania:
 
<pre>
<source lang="ruby">
% ruby
puts "hello world"
Linia 90:
hello world
good-bye world
</sourcepre>
 
Znak <tt>^D</tt> powyżej oznacza control-D, wygodny sposób to sygnalizowania, że wprowadzanie zostało zakończone w systemach Uniksowych. W DOS/Windows, spróbuj użyć F6 lub ^Z.
Linia 98:
Jeżeli masz terminal zgodny z ANSI (co prawie na pewno jest prawdą, jeżeli pracujesz pod jakimś systemem z rodziny UNIX; pod starymi wersjami DOSa potrzebujesz mieć zainstalowany ANSI.SYS lub ANSI.COM; Windows XP, niestety, uczynił to prawie niemożliwym), powinieneś używać rozszerzonej wersji ''eval.rb'', która dodaje wizualne wsparcie dla wcięć, raportuje ostrzeżenia oraz używa kolorowego podświetlania. W przeciwnym wypadku, poszukaj w podkatalogu z przykładami twojej dystrybucji Rubiego wersji bez ANSI która działa na każdym terminalu. Oto krótka sesja z ''eval.rb'':
 
<pre>
<source lang="ruby">
% ruby eval.rb
ruby> puts "Hello, world."
Linia 104:
nil
ruby> exit
</sourcepre>
 
"Hello world" jest wypisane przez <tt>puts</tt>. Następna linia, w tym przypadku <tt>nil</tt>, pokazuje cokolwiek co zostało obliczone jako ostatnie. Ruby nie rozróżnia instrukcji i wyrażeń, więc obliczanie kawałka kodu oznacza jest równoważne z jego wykonaniem. Tutaj, <tt>nil</tt> oznacza, że <tt>puts</tt> nie zwraca żadnej(znaczącej) wartości. Zauważ, że możemy opuścić pętlę interpretatora przez wpisanie <tt>exit</tt>, chociaż ^D również zadziała.