Синтаксичні елементи в Ruby?

Синтаксичні елементи в Ruby — це основні складові мови програмування, які визначають її структуру та правила написання коду. Вони включають ключові слова, оператори, конструкції для роботи зі змінними, умовами, циклами, методами, класами та модулями. Завдяки цим елементам програміст може описувати логіку програми, керувати потоком виконання коду та працювати з даними.

У Ruby є кілька основних синтаксичних елементів.

1. Змінні та константи

  • Локальні змінні: name = "Alice"
  • Глобальні змінні: $global_var = 10
  • Змінні екземпляру класу: @instance_var = 20
  • Змінні класу: @@class_var = 30
  • Константи: PI = 3.14 (назви констант пишуться з великої літери)

2. Типи даних

  • Числа: 42, 3.14
  • Рядки: "Hello", 'World'
  • Символи: :symbol
  • Булеві значення: true, false
  • Масиви: [1, 2, 3]
  • Хеші: {name: "Alice", age: 25}
  • Nil: nil (аналог null в інших мовах)

3. Оператори

  • Арифметичні: +, -, *, /, %, **
  • Логічні: &&, ||, !
  • Порівняння: ==, !=, <, >, <=, >=, <=>
  • Присвоєння: =, +=, -=, *=, /=
  • Діапазони: (1..5), (1...5)

4. Умовні конструкції

if x > 10
  puts "Більше 10"
elsif x == 10
  puts "Рівно 10"
else
  puts "Менше 10"
end

Також є unless, тернарний оператор (condition ? true_case : false_case) і модифікатори (puts "Hello" if x > 5).

5. Цикли

  • while - не рекомендується до використання, краще ітератори
  • until - не рекомендується до використання
  • for - не рекомендується до використання
  • loop do
  • Ітератори: times, each, map, select, reduce

6. Методи

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

7. Класи та об’єкти

class Person
  def initialize(name)
    @name = name
  end

  def say_hello
    puts "Hi, I'm #{@name}!"
  end
end

person = Person.new("Alice")
person.say_hello

8. Модулі та міксіни

module Greetings
  def greet
    puts "Hello!"
  end
end

class User
  include Greetings
end

user = User.new
user.greet  # "Hello!"

9. Блоки, Proc та Lambda

[1, 2, 3].each { |n| puts n }
proc_example = Proc.new { puts "Hello from Proc" }
lambda_example = -> { puts "Hello from Lambda" }

10. Обробка винятків

begin
  puts 10 / 0
rescue ZeroDivisionError => e
  puts "Помилка: #{e.message}"
ensure
  puts "Цей код виконається завжди"
end
1 Вподобання