Глава десята

Рух далі...

Ми розглянули багато основ протягом попередніх десяти глав, проте ми лише почали відкривати всі можливості програмування на Ruby.

Одна з областей, яку ми навіть не зачіпали, стосується розробки веб–застосунків з використанням фреймворку Rails (загальновідомого як Ruby On Rails). Хороша новина полягає в тому, що розробка з Rails тепер буде набагато простішою, адже ви маєте фундаментальне розуміння програмування на Ruby. Rails має всі інструменти, які необхідні для того, щоб побудувати та запустити простий застосунок, однак спроба написати програму на Rails без розуміння Ruby була б чимось на зразок спроби написати роман, не знаючи мови!

IronRuby та JRuby

Також, ми не розглядали функціонал, який Ruby вносить до певних операційних систем. Наприклад, Sun Microsystems має версію Ruby на Java (JRuby), а Microsoft розробляє версію Ruby на .NET (IronRuby). Комерційна розробницька версія Ruby In Steel IDE підтримує всі три основні версії Ruby - звичайний Ruby, JRuby та IronRuby. Також Ruby In Steel містить безкоштовну версію IronRuby, яка включає оточення для візуальної побудови форм, схоже до тих, які надаються Microsoft для мов C# та VB. Для додаткової інформації стосовно інших версій Ruby In Steel, або щоб завантажити безкоштовне IronRuby IDE, перейдіть на вебсайт SapphireSteel Software:

http://www.sapphiresteel.com

Збереження даних

Тепер настав час підсумувати цю Маленьку книгу про Ruby. Давайте розглянемо ще один простий проект – маленьку базу даних CD, яка дасть вам можливість створювати нові об’єкти (один для кожного диску у вашій колекції CD), додавати їх до масиву та зберегти на ваш диск.

Для того, щоб зберігати данні на диск я використовую бібліотеку YAML:

# збереження даних на диск у форматі YAML
def saveDB
  File.open($fn, 'w') { |f|
    f.write($cd_arr.to_yaml)
  }
end

YAML

YAML описує формат збереження даних у вигляді зрозумілого для людини тексту. Дані можна згодом завантажувати з диску, щоб відновлювати масив об’єктів CD у пам’яті:

def loadDB
  input_data = File.read($fn)
  $cd_arr = YAML::load(input_data)
end

Більша частина коду з цієї маленької програми має бути схожими на наші попередні проекти. Однак, деякі речі слід підкреслити.

По–перше, змінні, які починаються зі знаку долара $, є глобальними, тому вони доступні для всього коду у програмі (пригадайте змінні екземплярів, які починаються з @ — доступ до них обмежується певним об’єктом; локальні змінні, які починаються з маленької літери, доступні для використання лише всередині чітко визначеної області видимості, як от всередині певного методу).

Файли

Також, зверніть увагу на те, що ми використовуємо клас File, щоб перевірити, чи файл існує:

if File.exist?($fn)

Тут, exist? є методом класу – він належить класу File, а не його екземпляру. Це пояснює те, як ми можемо виконувати метод з самого File, замість того, щоб виконувати його від нового об’єкту File. Це може нагадати вам методи модулів, про які йшла мова у дев’ятій главі – ще один приклад схожості між модулями та класами.

Рух далі…

Спільнота Ruby зараз дуже активна і постійно поповнюється новими проектами. Щоб триматись в курсі, ми радимо вам відвідати сайт Sapphire In Steel (www.sapphiresteel.com), щоб знайти посилання на найкорисніші ресурси для Ruby–програмістів. Ми також додаватимемо більше керівництв та прикладів проектів на наш сайт, щоб продовжити ваше заглиблення у програмування на Ruby.

На завершення, я сподіваюсь, вам сподобався цей маленький вступ у мову Ruby, і він буде лише початком для багатьох років приємної та продуктивної роботи з Ruby.

results matching ""

    No results matching ""