Ruby: відмінності між версіями
мНемає опису редагування |
м (rollbackEdits.php mass rollback) |
||
| (Не показані 8 проміжних версій 5 користувачів) | |||
| Рядок 1: | Рядок 1: | ||
{{Stub}} | {{Stub}} | ||
[[Файл:Ruby.png|міні|«Найкращий друг програміста»]] | [[Файл:Ruby.png|міні|«Найкращий друг програміста»]] | ||
'''Ruby''' ''(Рубі)'' — об'єктно-орієнтована мова програмування з динамічною типізацією , рефклесією та іншими фішками. Дуже підходить для швидкої розробки різних фєтілющечок. <s>Спиздив</s> Взяв багато чого від [[Python]], [[Perl]], [[Smalltalk]] та інших мов. | '''Ruby''' ''(Рубі)'' — об'єктно-орієнтована мова програмування з динамічною типізацією , рефклесією та іншими фішками. Дуже підходить для швидкої розробки різних фєтілющечок. <s>Спиздив</s> Взяв багато чого від [[Python]], [[Perl]], [[Smalltalk]] та інших мов. | ||
Якщо ти не зібрався програмувати для Ruby on Rails, навіть не починай читати цю статтю. Більш ні для чого він наразі не потрібний. | |||
== Огляд == | == Огляд == | ||
| Рядок 10: | Рядок 12: | ||
=== Фєйлофосєя Рубіка === | === Фєйлофосєя Рубіка === | ||
Він пиздець який об'єктно-орієнтований. Всі функції є методами, всі данні є об'єктами, ну і інший анти-функціональний маразм. Має дуже дурні змінні: | Він пиздець який об'єктно-орієнтований. Всі функції є методами, всі данні є об'єктами, ну і інший анти-функціональний маразм. Має дуже дурні змінні: | ||
< | <syntaxhighlight lang="Ruby"> a = "Москалі маздай" | ||
a = "Москалі маздай" | |||
b = a | b = a | ||
a[0] = 'Т' | a[0] = 'Т' | ||
puts b #виведе "Тоскалі маздай" | puts b #виведе "Тоскалі маздай" </syntaxhighlight> | ||
</ | |||
Тобто змінні - не об'єкти, а посилання на них. Коли ми змінили значення змінної <code>a</code>, змінилась і <code>b</code>. | Тобто змінні - не об'єкти, а посилання на них. Коли ми змінили значення змінної <code>a</code>, змінилась і <code>b</code>. | ||
=== Переваги === | === Переваги === | ||
* Простий, зрозумілий синтаксис. | |||
*Простий, зрозумілий синтаксис. | * Багатопоточність | ||
*Багатопоточність | * «Збиральник сміття». | ||
*«Збиральник сміття». | * Два види виділення блоків: | ||
*Два види виділення блоків: | <syntaxhighlight lang="Ruby"> { | ||
< | |||
{ | |||
#як в Сі | #як в Сі | ||
} | } | ||
| Рядок 34: | Рядок 31: | ||
do | do | ||
#Як в поцкалі | #Як в поцкалі | ||
end | end </syntaxhighlight> | ||
</ | |||
*Обробка виключень в стилі [[Java|Жаби]] та [[Python]]. | * Обробка виключень в стилі [[Java|Жаби]] та [[Python]]. | ||
*Дуже кросплатформний | * Дуже кросплатформний | ||
== Приклади коду == | == Приклади коду == | ||
* Робота з файлами: | |||
<syntaxhighlight lang="Ruby"> File.open('shit.dat', 'w') {|file| | |||
file.puts 'Shit, yeah' | |||
} </syntaxhighlight> | |||
* Обробка виключень: | |||
<syntaxhighlight lang="Ruby"> raise ShitError, "OH, SHI--", caller </syntaxhighlight> | |||
[http://ruby-doc.ru/post/19 І так далі.] | [http://ruby-doc.ru/post/19 І так далі.] | ||
== Посилання == | == Посилання == | ||
*[http://www.ruby-lang.org/en/ Хоум паг] | * [http://www.ruby-lang.org/en/ Хоум паг] | ||
{{Айті}} | {{Айті}} | ||
Поточна версія на 00:34, 21 листопада 2022
Ruby (Рубі) — об'єктно-орієнтована мова програмування з динамічною типізацією , рефклесією та іншими фішками. Дуже підходить для швидкої розробки різних фєтілющечок. Спиздив Взяв багато чого від Python, Perl, Smalltalk та інших мов.
Якщо ти не зібрався програмувати для Ruby on Rails, навіть не починай читати цю статтю. Більш ні для чого він наразі не потрібний.
Огляд
Історія створення
Був собі такий студент Юкіхіро Мацумото, який дуже цікавився мовами програмування, і в 1993 році він почав розробку свого Ruby. Цілі якими керувався Юкіхіро при створенні Рубі: ruby має бути інтерпретованою об'єктно-орієнтованою мовою програмування, з синтаксисом як перемішок Perl та Python.[1] І ось в 1995 році він вийшов.
Фєйлофосєя Рубіка
Він пиздець який об'єктно-орієнтований. Всі функції є методами, всі данні є об'єктами, ну і інший анти-функціональний маразм. Має дуже дурні змінні:
a = "Москалі маздай"
b = a
a[0] = 'Т'
puts b #виведе "Тоскалі маздай"
Тобто змінні - не об'єкти, а посилання на них. Коли ми змінили значення змінної a, змінилась і b.
Переваги
- Простий, зрозумілий синтаксис.
- Багатопоточність
- «Збиральник сміття».
- Два види виділення блоків:
{
#як в Сі
}
########
do
#Як в поцкалі
end
Приклади коду
- Робота з файлами:
File.open('shit.dat', 'w') {|file|
file.puts 'Shit, yeah'
}
- Обробка виключень:
raise ShitError, "OH, SHI--", caller
Посилання
| |||||||||||||||||||
- ↑ Спиздив таки ^__^