|
|
| Рядок 1: |
Рядок 1: |
| '''Ruby''' ''(Рубі)'' - [[Об'єктно-орієнтоване програмування|об'єктно-орієнтована]] [[мова програмування]], з [[Динамічна типізація|динамічною типізацією]], [[Рефлексія|рефклесією]] і іншими фішками. Дуже підходить для швидкої розробки різних фєтілющечок. <s>Спиздив</s> Взяв багато чого від [[Python]], [[Perl]], [[Smalltalk]] та інших мов.
| | dovbojoby sosnule |
| | | http://dramatica.org.ua/ |
| == Огляд ==
| |
| ===Історія створення===
| |
| Був собі такий студент [[Юкіхіро Мацумото]], він дуже цікавився мовами програмування і ось у 1993 році він почав розробку свого Ruby. Цілі якими керувався Юкіхіро при створенні Рубі: ruby має бути інтерпретованою об'єктно-орієнтованою мовою програмування, з синтаксисом як перемішок Perl та Python.<ref>Спиздив таки ^__^</ref> І ось в 1995 році він вийшов.
| |
| ===Фєйлофосєя Рубіка===
| |
| Він пиздець який об'єктно-орієнтований (Юкіхіро - ще той фанат ООП). Всі функції є методами, всі данні є об'єктами, ну і інший анти-[[Функціональне програмування|ФП]] маразм. Має дуже дурні змінні:
| |
| <pre>
| |
| a = "Москалі маздай"
| |
| b = a
| |
| a[0] = 'Т'
| |
| puts b #виведе "Тоскалі маздай"
| |
| </pre>
| |
| <br />
| |
| Тобто змінні - не об'єкти, а посилання на них. Коли ми змінили значення змінної <code>a</code>, змінилась і <code>b</code>.
| |
| ===Переваги===
| |
| *Простий, зрозумілий синтаксис.
| |
| *Багатопоточність
| |
| *«Збиральник сміття».
| |
| *Два види виділення блоків:
| |
| <pre>
| |
| {
| |
| #як в Сі
| |
| }
| |
| ########
| |
| do
| |
| #Як в поцкалі
| |
| end
| |
| </pre>
| |
| *Обробка виключень в стилі [[Java|Жаби]] та [[Python]].
| |
| *Дуже кроссплатформний
| |
| | |
| == Приклади коду ==
| |
| <big>Робота з файлами</big>:
| |
| <pre>
| |
| File.open('shit.dat', 'w') {|file|
| |
| file.puts 'Shit, yeah'
| |
| }
| |
| </pre>
| |
| <br />
| |
| <big>Обробка виключень</big>:
| |
| <pre>
| |
| raise ShitError, "OH, SHI--", caller
| |
| </pre>
| |
| [http://ruby-doc.ru/post/19 І так далі.]
| |
| | |
| == Посилання ==
| |
| *[http://www.ruby-lang.org/en/ Хоум паг]
| |
| | |
| == Примітки ==
| |
| {{reflist}}
| |
| | |
| {{Мови програмування|topic = - пиздець який об'єктно-орієнтований}}
| |
| [[Категорія:Мови програмування]]
| |