Ruby

Матеріал з Драматика
Версія від 19:44, 2 червня 2024, створена Maintenance script (обговорення | внесок) (Imported from text file)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

Стаття потребує доповнення!
Ця стаття засмучує наших слоупоків, бо навіть вони розуміють, що її давно вже треба доповнити усілякими корисними картинками та інформацією, або, можливо, видалити якусь недолугу хуйню ідіота і написати натомість щось притомне.


Файл:Ruby.png
«Найкращий друг програміста»

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
  • Обробка виключень в стилі Жаби та Python.
  • Дуже кросплатформний

Приклади коду

  • Робота з файлами:
 File.open('shit.dat', 'w') {|file|
   file.puts 'Shit, yeah'
 }
  • Обробка виключень:
  raise ShitError, "OH, SHI--", caller

І так далі.

Посилання

  1. Спиздив таки ^__^