Quire
Ruby
Ruby
Vznik1995
AutorJukihiro Macumoto
VývojářJukihiro Macumoto
Poslední verze4.0.9 (23. října 2026)
Ovlivněn jazykyAda
Dylan
Perl
Python
Smalltalk
C++
CLU
Eiffel
Lisp
BASIC
Lua
Emacs
Operační systémmultiplatformní
Licencedvoubodová BSD licence nebo Ruby License
Webwww.ruby-lang.org
Přípona souborurb a rbw
Některá data mohou pocházet z datové položky.

Ruby je interpretovaný skriptovací programovací jazyk. Díky své jednoduché syntaxi je poměrně snadno naučitelný, přesto však dostatečně výkonný, aby dokázal konkurovat známějším jazykům jako je Python a Perl. Je plně objektově orientovaný – nemá žádné primitivní datové typy, vše v Ruby je objekt.

Historie#edit

Tvůrcem Ruby je jediný člověk: Jukihiro Macumoto, známý také pod přezdívkou Matz. Ten jako zastánce objektově orientovaného programování hledal v první polovině 90. let skriptovací jazyk, který by mu vyhovoval. Avšak Perl mu připadal v té době málo výkonný a Python zase nebyl natolik objektový, jak by chtěl. A tak se rozhodl, že vytvoří vlastní jazyk. Práce na něm započaly v roce 1993, první verze byla uveřejněna v roce 1995. Matz svůj jazyk pojmenoval po rubínu – anglicky Ruby.

Dnes je Ruby asi nejšířeji používaný v zemi svého původu – v Japonsku. Rozšíření do světa dlouhou dobu bránila absence kvalitní dokumentace v anglickém jazyce. Po roce 2005 jazyk zaznamenal významný nárůst popularity díky (tehdy) inovativnímu webovému frameworku Ruby on Rails.

Oblasti použití#edit

Stejně jako jiné skriptovací jazyky, je oblast použití Ruby poměrně široká. Asi nejčastější využití najde na platformě Linux (a jiných systémech typu Unix) při psaní skriptů pro usnadnění každodenní práce. Díky své přehledné syntaxi a striktní objektovosti se hodí i k psaní velkých projektů, CGI skriptů, ba dokonce GUI aplikací (GTK2, TK, Qt, fxRuby atd.). Jelikož podporuje regulární výrazy, je Ruby vhodným jazykem pro zpracování textových souborů.

Výhody a nevýhody#edit

Výhody:

Nevýhody:

  • nižší rychlost oproti kompilovaným jazykům (interpretovaný jazyk je překládán až za běhu, navíc velká část knihoven je napsána rovněž v Ruby)
  • závislost na interpretu
  • nedostatek české dokumentace

Ukázka kódu#edit

Tradiční program hello world:

puts "Hello world!"

V Ruby je často možné kód formulovat tak, že se dá číst skoro jako přirozený anglický textː

5.times { puts "ahoj!" } # pětkrát vypíše "ahoj"

Výpočet Fibonacciho posloupnostiː

def fib(n)
  a, b = 0, 1
  while b < n
    print b, " "
    a, b = b, a + b
  end
end

fib(100)

Definice třídy, vytvoření instance a volání metodː

class Divka
  def initialize(jmeno, vek)
    @jmeno = jmeno
    @vek = vek
  end
  
  def to_s
    "Jmeno:\t#{@jmeno}\nVek:\t#{@vek}"
  end
  
  attr_reader :jmeno, :vek
end

moje_devce = Divka.new('Tereza', 18)
puts moje_devce.to_s
puts moje_devce.jmeno
puts moje_devce.vek

Po spuštění bude na výstupu:

Jmeno:  Tereza
Vek:    18
Tereza
18

V Ruby je úplně vše objekt (i třídy jsou objekty typu Class). Například

1 + 2

je vlastně zavolání metody + objektu 1 (instance třídy Integer) s argumentem 2:

1.+(2)

Implementace (výběr)#edit

  • MRI - "Matz Ruby implementation" - implementace interpreta a standardní knihovny spravovaná původním autorem jazyka, slouží jako živý standard
  • mruby[1] - minimální implementace cílící na využití jako skriptovací jazyk integrovaný do aplikací
  • JRuby[2] - interpret napsaný v Javě, umožňuje provozovat Ruby skripty na JVM a interagovat s kompilovanými třídami implementovanými v Javě nebo jiných JVM jazycích
  • IronRuby[3] - obdobný projekt, který cílil na interoperabilitu s .NET ekosystémem
  • TruffleRuby[4] - implementace postavená na GraalVM, cílící na vysoký výkon
  • Rubinius[5]

Odkazy#edit

Reference#edit

  1. ^ mruby - Lightweight Ruby. mruby.org [online]. [cit. 2026-06-21]. Dostupné online.
  2. ^ Home — JRuby.org. www.jruby.org [online]. [cit. 2026-06-21]. Dostupné online.
  3. ^ IronRuby.net /. ironruby.net [online]. [cit. 2026-06-21]. Dostupné online.
  4. ^ TEAM, TruffleRuby. Home. TruffleRuby [online]. 2026-04-12 [cit. 2026-06-21]. Dostupné online. (anglicky)
  5. ^ Rubinius. rubinius.com [online]. [cit. 2026-06-21]. Dostupné online.

Externí odkazy#edit

This article is mirrored from “Ruby” on Čeština Wikipedia, revision 26222930, written by Wikipedia's contributors and licensed CC BY-SA 4.0. Editing it here creates a Quire copy with its own history.

Synced with Wikipedia revision 26222930 · just now