Ruby logo

Ruby

Ruby jest dynamicznym, obiektowym językiem programowania ogólnego przeznaczenia.

Ruby został stworzony w oparciu o cechy języków takich jak Perl, Ada, List, Smalltalk i Eiffel. Jest to język wieloparadygmatowy, wspierający programowanie funkcyjne, obiektowe i imperatywne oraz refleksyjne. Posiada również mechanizm dynamicznego typowania oraz automatyczne zarządzanie pamięcią.

Cechy języka Ruby

  • Całkowita obiektowość.
  • Zmienne zawsze są referencją do obiektów.
  • Każda funkcja jest metodą, a metody są zawsze wywoływane na obiekcie.
  • Metody zdefiniowane globalnie stają się elementami klasy Object.
  • Dziedziczenie, domieszki.
  • Brak wielodziedziczenia.
  • Duck typing - rozpoznawanie typu obiektu na podstawie metod udostępnionych przez obiekt.
  • Wszystko jest wyrażeniem (nawet instrukcja) i wszystko jest wykonywane imperatywnie.
  • Zwięzła i elastyczna składnia.
  • Wyrażenia lambda.
  • Mechanizm refleksji ułatwiający metaprogramowanie.
  • Domknięcia, iteratory i generatory.
  • Notacja literałowa dla tablic, wyrażeń regularnych i symboli.
  • Argumenty domyślne.
  • Cztery zasięgi widoczności zmiennych: globalne, klasowe, instancyjne i lokalne.
  • Mechanizm odśmiecania.
  • Koercja typu boolowskiego (wszystko poza false i nil ma wartość true).
  • Obsługa wyjątków.
  • Przeciążanie operatorów.
  • Wyrażenia regularne wbudowane w składnię.
  • Marshalling - proces zmiany obiektu na inny format. Przeważnie stosowany w celu przesłania obiektu przez sieć lub do innego wątku.
  • Menadżer pakietów RubyGems.
  • Obszerna biblioteka standardowa.

Przykładowy kod:


# Output "I love Ruby"
say = "I love Ruby"
puts say

# Output "I *LOVE* RUBY"
say['love'] = "*love*"
puts say.upcase

# Output "I *love* Ruby"
# five times
5.times { puts say }  
      

Źródło: Oficjalna strona Ruby