Початок роботи з Ruby: Основний синтаксис та типи даних

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

1. Змінні: Зберігання даних

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

name = "Alice" # String  
age = 25 # Integer  
height = 5.8 # Float  
is_student = true # Boolean

Ключові моменти:

  • Змінні не потребують явного оголошення типу.
  • Ruby використовує snake_case для імен змінних.
  • Булеві значення (true, false) представляють логічні значення.

2. Рядки: Робота з текстом

Рядки використовуються для зберігання текстових даних і можуть бути обгорнуті в подвійні (") або одинарні (') лапки.

str1 = "Hello"  
str2 = 'World'  

puts str1 + " " + str2 # Конкатенація → "Hello World"  
puts "#{str1} #{str2}" # Інтерполяція → "Hello World"  
puts str1.upcase # "HELLO"  
puts str2.downcase # "world"

Ключові моменти:

  • + об'єднує два рядки.
  • #{} використовується для інтерполяції рядків всередині подвійних лапок.
  • .upcase та .downcase змінюють регістр літер.

3. Числа: Цілі числа та числа з плаваючою точкою

x = 10 # Integer  
y = 3.5 # Float  

puts x + y # 13.5  
puts x - y # 6.5  
puts x * y # 35.0  
puts x / y # 2.857142857142857  
puts x % 3 # 1 (Модуль)  
puts x**2 # 100 (Степінь)

Ключові моменти:

  • Арифметичні операції працюють, як очікується.
  • % дає залишок від ділення (модуль).
  • ** використовується для піднесення до степеня.

4. Масиви: Зберігання кількох значень

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

arr = [1, 2, 3, "Ruby", true]  

puts arr[0] # 1 (Перший елемент)  
puts arr[-1] # true (Останній елемент)  

arr << 4 # Додаємо 4 → [1, 2, 3, "Ruby", true, 4]  
arr.push(5) # Інший спосіб додавання → [1, 2, 3, "Ruby", true, 4, 5]  
arr.pop # Видаляє останній елемент → [1, 2, 3, "Ruby", true, 4]

Ключові моменти:

  • Масиви використовують індексацію з нуля (arr[0] — це перший елемент).
  • << або .push додають елементи, .pop видаляє останній елемент.

5. Хеші: Зберігання пар ключ-значення

Хеші зберігають дані у вигляді пар ключ-значення, подібно до словників у Python.

person = { name: "Alice", age: 25, city: "New York" }  

puts person[:name] # Alice  
puts person[:age] # 25  

person[:gender] = "Female" # Додаємо нову пару ключ-значення  
puts person # {:name=>"Alice", :age=>25, :city=>"New York", :gender=>"Female"}

Ключові моменти:

  • Ключі хешів зазвичай є символами (:key), що є більш ефективними за рядки.
  • Для доступу до значень використовуйте hash[:key].

6. Умовні конструкції: Прийняття рішень

Умовні оператори керують потоком програми на основі умов.

age = 18  

if age >= 18  
 puts "Adult"  
elsif age > 12  
 puts "Teenager"  
else  
 puts "Child"  
end

Ключові моменти:

  • if, elsif та else використовуються для прийняття рішень.
  • Ruby використовує відступи для читабельності, але це не є обов'язковим.

7. Цикли: Повторення дій

Цикл while

i = 1  
while i <= 5  
 puts i  
 i += 1  
end

Цикл for

for num in [1, 2, 3, 4, 5]  
 puts num  
end

Цикл each (для масивів та хешів)

[10, 20, 30].each { |n| puts n }  

person.each { |key, value| puts "#{key}: #{value}" }

Ключові моменти:

  • while виконується до тих пір, поки умова не стане хибною.
  • for ітерує по колекціях.
  • .each — це найкращий спосіб пройти через масиви та хеші.

8. Методи: Переносні блоки коду

Методи дозволяють писати повторно використовуваний код.

def greet(name)  
 return "Hello, #{name}!"  
end  

puts greet("Alice") # "Hello, Alice!"

Ключові моменти:

  • Методи оголошуються за допомогою def method_name.
  • return є необов'язковим (Ruby повертає останній обчислений вираз).
    ## Символи: Легковагі ідентифікатори

Символи (:symbol) незмінні та ефективніші за рядки при використанні їх як ключів.

sym = :ruby  
puts sym.object_id # Символи мають унікальний ID  
puts :ruby.object_id == :ruby.object_id # true

Ключові моменти:

  • Символи часто використовуються як ключі в хешах.
  • На відміну від рядків, той самий символ завжди має однаковий ID об'єкта.

10. Діапазони: Послідовності чисел

Діапазони представляють собою послідовності чисел і можуть бути перетворені на масиви.

puts (1..5).to_a # [1, 2, 3, 4, 5]  
puts (1...5).to_a # [1, 2, 3, 4] (Виключає 5)

Ключові моменти:

  • 1..5 включає 5, тоді як 1…5 виключає його.
  • Діапазони корисні в циклах і умовах.

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

Удачі в кодуванні! 🚀

Перекладено з: Getting Started with Ruby: Basic Syntax and Data Types