Ruby
- Aragones
- l`rby@
- Asturianu
- Az@rbaycanca
- toerkhjh
- Zemaiteska
- Belaruskaia
- baaNlaa
- Bosanski
- Catala
- khwrdy
- Cestina
- Dansk
- Deutsch
- Ellenika
- English
- Esperanto
- Espanol
- Eesti
- Euskara
- frsy
- Suomi
- Francais
- Galego
- Hausa
- `bryt
- Hrvatski
- Magyar
- Hayeren
- Interlingua
- Bahasa Indonesia
- Ido
- Italiano
- Ri Ben Yu
- k`art`uli
- hangugeo
- Kyrgyzcha
- Lombard
- Lietuviu
- Latviesu
- mlyaallN
- mraatthii
- Bahasa Melayu
- mnmaabhaasaa
- Nederlands
- Norsk nynorsk
- Norsk bokmal
- odd'iaa
- pNjaabii
- Polski
- pnjby
- Portugues
- Romana
- Russkii
- Srpskohrvatski / srpskokhrvatski
- Simple English
- Slovencina
- Shqip
- Srpski / srpski
- Svenska
- Kiswahili
- tmilll
- telugu
- Toch'iki
- aithy
- Turkce
- Tatarcha / tatarca
- Ukrayins'ka
- rdw
- O`zbekcha / uzbekcha
- Tieng Viet
- Wu Yu
- Zhong Wen
- Yue Yu
| Ruby | |
| Paradigma | obektno orientiran |
|---|---|
| Realizirane prez | 1995 |
| Avtor | Iukikhiro Matsumoto |
| Tipizatsiia na dannite | dinamichna |
| Povliian ot | Smalltalk, Perl, Lisp, Python, Clu, Dylan |
| Povliiava | Groovy |
| Softueren litsenz | Ruby License i GPL |
| Uebsait | www.ruby-lang.org |
| Ruby v Obshchomediia | |
Ruby (proiznasia se rubi, na b'lgarski oznachava rubin) e interpretiruem, interaktiven, obektno orientiran ezik za programirane. Kombinira cherti ot mnogo drugi ezitsi, sred koito Smalltalk, Perl, Lisp i Python. Osnovnata mu implementatsiia e bezplatna i s otvoren kod.
Istoriia
[redaktirane | redaktirane na koda]Ezik't e s'zdaden ot iaponetsa Iukikhiro Matsumoto, po priakor ,,Mats". Toi zapochva rabota po Ruby prez 1993. Prez 1995 izliza p'rvata versiia na ezika.
Imeto na ezika proizliza ot zodiakalniia kam'k na priiatel i kolega na Iukikhiro.
Do oktomvri 2006 poslednata stabilna versiia e 1.8.5. Klon't 1.8.kh e stabilen, razrabotchitsite rabotiat v klona 1.9, koito sled stabiliziraneto si shche se prev'rne v 2.0.
Motivatsiia
[redaktirane | redaktirane na koda]Vodeshchiiat printsip na Mats pri s'zdavaneto na ezika e da napravi programistite shchastlivi chrez namaliavane na nenuzhnata rabota, sledvaiki printsipite za dizain na potrebitelski interfeis[1]. Mats tv'rdi, che dizain't na prilozheniia triabva da otgovaria na choveshkite, a ne na kompiut'rnite nuzhdi[2].
Stremezh't e Ruby da sledva printsipa na nai-malka iznenada. Tova oznachava, che povedenieto na ezika triabva da e intuitivno i toi triabva da raboti taka, kakto programist't bi ochakval. V'zmozhno e krainiiat rezultat da e ,,printsip't na nai-malka iznenada za Mats", no ogromen broi programisti po sveta tv'rdiat, che ezik't s'otvetstva i na tekhniia model na mislene.
Semantika
[redaktirane | redaktirane na koda]Ruby e obektno orientiran. Vsiaka edinitsa s danni, bila tia promenliva, konstanta ili dazhe literal, e obekt. Vsiaka funktsiia e metod. Promenlivite sa vinagi psevdonimi na obektite i nikoga samite obekti.
V'preki che Ruby ne podd'rzha mnozhestveno naslediavane, klasovete mogat da importirat moduli i podd'rzhat dinamichno delegirane.
Spored chesto zadavanite v'prosi ot dokumentatsiiata na Ruby, ,,ako kharesvate Perl, shche zapochnete da kharesvate i Ruby i lesno shche navlezete v negovata semantika. Ako kharesvate Python, mozhe bi shche se otdr'pnete zaradi ogromnata razlika v'v filosofiite na Python i Ruby/Perl"[3]
Kharakteristiki
[redaktirane | redaktirane na koda]- obektno orientiran
- chetiri niva na dost'p: globalno, klasovo, instantsiia i lokalno
- obrabotka na izkliucheniia
- iteratori
- anonimni funktsii i zatvarianiia (closures)
- vgraden sintaksis za boravene s reguliarni izrazi
- predefinirane na operatorite
- vgradeno avtomatichno upravlenie na pametta
- mnogoplatformenost
- svobodno zarezhdane na dinamichni biblioteki
- podd'rzhane na mnogonishkovo programirane s obosobena razlika mezhdu nishki i fibri
- introspektsiia, otraziavane i metaprogramirane
- bogata standartna biblioteka
- promiana na obektite po vreme na izp'lnenie
Ruby vse oshche ne poddr'zhka tsialostno Unikod, a samo chastichno UTF-8.
Khranilishcha i biblioteki
[redaktirane | redaktirane na koda]Ruby Application Archive (RAA) Arkhiv na originala ot 2013-08-05 v Wayback Machine. i RubyForge sa khranilishcha s poveche ot 2000 prilozheniia i biblioteki.
RubyGems e standartniiat paketen menidzh'r za instalirane na dop'lnitelni biblioteki. Po nachina si na upotreba silno prilicha na portovata sistema, sreshchana v razlichnite BSD distributsii.
Primeren kod
[redaktirane | redaktirane na koda]Hello World
[redaktirane | redaktirane na koda]Prosti funktsionalnosti
[redaktirane | redaktirane na koda]-199.abs # 199
"ruby is cool".length # 12
"Rick".index("c") # 2
"Nice Day Isn't It?".split(//).uniq.sort.join # " '?DINaceinsty"
Rabota s nizove
[redaktirane | redaktirane na koda]str[0] # 82
str.include? "Ruby" # true
str.include? "Rails" # false
str.start_with? "Ruby" # true
str.end_with? "Ruby" # false
str.slice(0,4) # "Ruby"
str + "!" # "Ruby rocks!"
Rabota s reguliarni izrazi
[redaktirane | redaktirane na koda]"Ruby rocks" =~ /[a-z]+/ # 0
"Ruby rocks" =~ /[a-zA-Z]+/ # 0
Rabota s masivi
[redaktirane | redaktirane na koda]arr2 = [9,4, 5,3,2]
arr1.sort # [1, 3, 3, 6, 10]
arr1.max # 10
arr1.min # 1
arr1 + arr2 # [1, 10, 3, 6, 3, 9, 4, 5, 3, 2]
arr1 - arr2 # [1, 10, 6]
arr1 & arr2 # [3]
Rabota s data i chas
[redaktirane | redaktirane na koda]date.day # 22
date.month # 3
date.year # 2010
date.strftime("%d-%m-%Y") # "22-03-2010"
Realizatsiia
[redaktirane | redaktirane na koda]Ruby ima dve osnovni realizatsii: ofitsialniiat interpretator, koito e i nai-shiroko izpolzvan, i JRuby -- interpretator napisan na Java.
Operatsionni sistemi
[redaktirane | redaktirane na koda]Ruby se razprostraniava za slednite operatsionni sistemi:
- povecheto versii na Unix, vkliuchitelno Linux
- DOS
- Microsoft Windows 95/98/XP/NT/2000/2003/Vista
- Mac OS X
- BeOS/Haiku os
- Amiga
- MorphOS
- Acorn RISC OS
- OS/2
- Syllable
Litsenz
[redaktirane | redaktirane na koda]Interpretator't i bibliotekite sa s dvoen litsenz: GPL i Ruby License [4].
Ruby on Rails
[redaktirane | redaktirane na koda]Ruby on Rails ("Rubi na relsi", chesto s'krashchavano samo na Rails ili RoR) e nabirashch populiarnost freimu'rk za ueb prilozheniia, napisan iztsialo na Ruby, vkliuchvashch v sebe si mnozhestvo realizirani shabloni za programirane, sred koito Model-View-Controller, ActiveRecord i mnogo drugi. Samiiat freimu'rk se predlaga kato paket prez RubyGems (gem install rails).
Belezhki
[redaktirane | redaktirane na koda]- | Ezik't za programirane Ruby ot Iukikhiro Matsumoto 2000-06-12 (informit.com)
- | Filosofiiata na Ruby, Razgovor s Iukikhiro Matsumoto, ot Bil Ven'rs 2003-09-29 (Artima Developer)
- | Sravnitelna kharakteristika na Ruby i Python (rubygarden.org), arkhiv na originala ot 29 dekemvri 2006, https://web.archive.org/web/20061229093024/http://www.rubygarden.org/faq/entry/show/14, poseten na 21 dekemvri 2006
- | Ruby License (ruby-lang.org) // Arkhiviran ot originala na 26 avgust 2011. Poseten na 21 dekemvri 2006.
V'nshni prepratki
[redaktirane | redaktirane na koda]- Ofitsialnata stranitsa na Ruby
- Fen-portal s novini za Ruby
- Forum za Ruby programisti
- Bezplatna kniga za Ruby (PDF, angliiski) Arkhiv na originala ot 2013-10-09 v Wayback Machine.
- Ruby za dvaiset minuti (angliiski)
- Chesto zadavani v'pros za Ruby Arkhiv na originala ot 2006-12-18 v Wayback Machine.
- Ofitsialen sait s dokumentatsiia za Ruby
- Tutoriali, statii i kak-da za Ruby Arkhiv na originala ot 2007-03-08 v Wayback Machine.
- Forum za Ruby i Rails Arkhiv na originala ot 2007-03-10 v Wayback Machine.
- Full Ruby on Rails Tutorial Arkhiv na originala ot 2007-05-17 v archive.today - A complete beginners intro to Ruby on Rails
- Ruby on Rails Arkhiv na originala ot 2018-06-07 v Wayback Machine.