Ruby за двадцять хвилин
Вступ
Це невеликий туторіал з Ruby, який має зайняти не більше 20 хвилин. Передбачається, що Ruby уже встановлено. (Якщо Ruby немає на вашому комп’ютері, встановіть його перед початком.)
Інтерактивний Ruby
Ruby постачається з програмою, яка показує результати будь-яких Ruby- виразів, що ви їй передаєте. Гра з Ruby у таких інтерактивних сесіях — чудовий спосіб вивчити мову.
Відкрийте IRB (Interactive Ruby).
- Якщо ви використовуєте macOS, відкрийте
Terminalі введітьirb, потім натисніть Enter. - Якщо ви використовуєте Linux, відкрийте shell і введіть
irb, потім натисніть Enter. - Якщо ви використовуєте Windows, відкрийте
Interactive Rubyу розділі Ruby вашого меню “Пуск”.
irb(main):001:0>Гаразд, він відкритий. Що далі?
Введіть це: "Hello World"
irb(main):001:0> "Hello World"
=> "Hello World"Ruby вас послухався!
Що щойно сталося? Невже ми написали найкоротшу у світі програму “Hello World”? Не зовсім. Другий рядок — це лише спосіб IRB повідомити результат останнього виразу, який він обчислив. Якщо ми хочемо вивести “Hello World”, потрібно трохи більше:
irb(main):002:0> puts "Hello World"
Hello World
=> nilputs — базова команда для виведення в Ruby. Але що означає => nil?
Це результат виразу. puts завжди повертає nil — значення Ruby, що
означає абсолютно нічого.
Ваш безкоштовний калькулятор тут
Ми вже можемо використовувати IRB як простий калькулятор:
irb(main):003:0> 3+2
=> 5Три плюс два. Достатньо просто. А як щодо трьох, помножених на два?
Ви можете ввести це вручну — рядок короткий. Але ви також можете
піднятися вгору та змінити введений рядок. Натисніть стрілку вгору
на клавіатурі й подивіться, чи з’явиться рядок з 3+2. Якщо так,
використайте стрілку вліво, щоб перейти відразу після +, а потім
натисніть Backspace, щоб замінити + на *.
irb(main):004:0> 3*2
=> 6Далі спробуймо три в квадраті:
irb(main):005:0> 3**2
=> 9У Ruby ** означає “в степені”. Але що, якщо ви хочете піти іншим
шляхом і знайти квадратний корінь із числа?
irb(main):006:0> Math.sqrt(9)
=> 3.0Гаразд, що це було? Якщо ви здогадалися, “обчислення квадратного кореня
із дев’яти”, ви праві. Але розгляньмо детальніше. По-перше, що таке
Math?
Модулі групують код за темами
Math — вбудований модуль для математики. Модулі виконують дві ролі в
Ruby. Тут показана одна з них: групування схожих методів під знайомою
назвою. Math також містить методи на кшталт sin() і tan().
Далі стоїть крапка. Що вона робить? Крапка — це спосіб вказати отримувача
повідомлення. А саме повідомлення — це sqrt(9), що означає виклик методу
sqrt (скорочення від “square root”) з параметром 9.
Результат цього виклику — значення 3.0. Ви могли помітити, що це не
просто 3. Це тому, що квадратний корінь числа не завжди є цілим,
тому метод завжди повертає число з плаваючою комою.
А що, якщо ми хочемо зберегти результат цих обчислень? Присвойте результат змінній.
irb(main):007:0> a = 3 ** 2
=> 9
irb(main):008:0> b = 4 ** 2
=> 16
irb(main):009:0> Math.sqrt(a+b)
=> 5.0Як би не було зручно мати калькулятор, ми відходимо від традиційного “Hello World”, на якому мають зосереджуватися вступні туторіали… тож повернімося до нього.