TheUpperCode | Website development | Ruby on Rails
  • Home
  • Services
  • About Us
  • Cooperation
  • Projects
  • Blog
  • Contacts
  • en
    • uk
Back
logo

Design

UX/UI Design

Web Design

Product Design

Website

Development

Support

Updates

CRM System

Development

Support

Updates

Ruby on Rails

Development

Support

Updates

Automation

Business Processes

Support

Updates

News
/
Методи, файли та IO

Методи, файли та IO

29 May 2023
Lessons
TheUpperCode | Методи, файли та IO | Ruby on Rails

Сьогодні у статті:

  1. Методи в Ruby
  2. Файли та I/O

Методи в Ruby

 

В попередніх уроках ми вже багато разів зустрічалися та працювали з методами Ruby. Але давайте розберемося трохи чіткіше та додатково в них! 

За допомогою методів в Ruby можна визначити блок коду, який можна використовувати багато разів в програмі. Метод - це функція або підпрограма, яка виконується в контексті об'єкта. В даній статті я розгляну різні типи методів, як вони працюють та надам приклади. 

 

Огляд методів

У Ruby є два типи методів: методи класу та методи екземпляра. Методи класу виконуються в контексті класу, а методи екземпляра - в контексті екземпляра класу.  

Синтаксис методу

Визначення методу в Ruby виглядає наступним чином: 

 У цьому прикладі method_name - це назва методу, а argument1, argument2 та інші - це аргументи, які метод приймає. 

Ім'я методу може складатися з будь-якої комбінації букв, цифр та символів "_". Список параметрів може бути порожнім або містити один або більше параметрів, розділених комою. Тіло методу містить код, який виконується при виклику методу. 

Виклик методу

Метод може бути викликаний за його ім'ям з передачею аргументів, які потрібні для виконання методу. Синтаксис виклику методу має наступний вигляд: 

Приклад: 

У цьому прикладі ми створили метод з ім'ям "sum", який приймає два параметри "a" та "b" і повертає їхню суму. Далі ми викликаємо метод "sum" з аргументами "3" та "4" і зберігаємо результат в змінну "result". Нарешті, ми виводимо результат на екран. 

Повернення значення

Методи можуть повертати значення. Значення, що повертається з методу, - це останнє значення в останньому виразі методу. Якщо значення не повертається явно, метод поверне nil.  

Методи класу

Методи класу виконуються в контексті класу. Вони використовуються для зміни поведінки класу або виконання дій, що пов'язані з класом. Щоб визначити метод класу, використовується ключове слово self.

Цей метод можна викликати без створення екземпляру класу: 

Ще раз. Методи класу в Ruby - це методи, які визначаються для класу, а не для його екземплярів. Це означає, що вони можуть бути викликані без створення екземпляра класу.

У цьому прикладі ми визначаємо метод count для класу Person, який повертає кількість створених екземплярів класу Person. Цей метод можна викликати без створення екземпляра Person, наприклад:

Методи екземпляра

Методи екземпляра - це фрагменти коду, що виконуються на конкретному екземплярі класу. Вони викликаються через "." після змінної, що містить екземпляр класу, і можуть бути використані для отримання/зміни даних цього екземпляру. 

Наприклад, у класі "Person" може бути метод "age", що повертає вік конкретного екземпляру цього класу: 

У цьому прикладі, метод "age" повертає вік екземпляру "person1". Він є методом екземпляру класу "Person" і може бути викликаний лише на об'єктах цього класу.

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

Щоб викликати метод екземпляра, потрібно створити екземпляр класу та викликати метод на цьому екземплярі: 

Аргументи методу

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

У цьому прикладі ми створили метод "greet", який приймає параметр "name" та виводить на екран рядок зі словом "Hello" та ім'ям, переданим у параметрі. Під час виклику методу ми передаємо рядок "Mike" як параметр. 

Метод може мати багато параметрів. Якщо в метод передається менше або ж більше аргументів, то буде помилка ArgumentError

Заключення 

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

 

Файли та I/O

 

Файли та IO (введення/виведення) в Ruby дозволяють взаємодіяти з файловою системою та обмінюватися даними з зовнішніми джерелами. Файловий ввід-вивід забезпечується класом File та деякими методами, що виконують операції з файлами. 

Отже, щоб прочитати з файлу, спочатку потрібно відкрити його: 

Другим аргументом є режим відкриття файлу. r означає, що файл відкритий для читання. Також є режими для запису w та додавання a. 

Можна використовувати блок для автоматичного закриття файлу: 

Тут метод read читає весь вміст файлу та виводить його на екран.

Для запису в файл використовується метод write:

Це створить або перезапише файл example.txt з вмістом "Hello, world!". 

Щоб додати до файлу, потрібно відкрити файл у режимі a та використати метод puts: 

Це додасть рядок "Hello again, world!" в кінець файлу example.txt. 

Щоб перейти на іншу позицію у файлі, можна використовувати метод seek: 

Це виведе на екран два наступні байти після шостого у файлі. 

Якщо ви все ж таки відкриваєте файл без блоку, 

 то його потрібно буде закрити, коли ви завершете працювати  з ним 

Підсумуємо про файли та I/O

Отже, у Ruby є потужний і зручний набір інструментів для роботи з файлами та введенням/виведенням даних (IO). Всі файли у Ruby є об'єктами класу File, що дозволяє працювати з ними за допомогою методів екземпляру цього класу. Можна зчитувати, записувати, додавати вміст до файлів, керувати їхніми атрибутами і багато іншого. 

Крім того, Ruby має декілька об'єктів, які представляють різні потоки введення/виведення даних, такі як $stdin, $stdout та $stderr. Вони можуть бути використані для зчитування введення користувача, виводу повідомлень про помилки та іншого. Ruby також має кілька класів, що дозволяють працювати з мережевими з'єднаннями, такі як TCPSocket та UDPSocket. 

Загалом, Ruby має велику кількість інструментів для роботи з файлами та введенням/виведенням даних, що робить його потужним інструментом для розробки програмного забезпечення, яке використовує ввод/вивід даних та роботу з файлами. 

 

P.S. Продовження згодом


 

Група в телеграмі: https://t.me/ruby4you

Автор курсу: Шкоропад Даниїл

 

If you want to join to our goal please feel free to contact ;)
Contact US
TheUpperCode | Copy our new post about usefull things in WebDevelopment with help Ruby on Rails
Copied
TheUpperCode | Our official Facebook page | Ruby on Rails
TheUpperCode | Our official LinkedIn page | Ruby on Rails
For more news
How to support a Ruby on Rails project in 2025? 8 practical tips
13 March 2025
TheUpperCode | How to support a Ruby on Rails project in 2025? 8 practical tips | Ruby on Rails
How to support a Ruby on Rails project in 2025? 8 practical tips
13 March 2025
TheUpperCode | How to support a Ruby on Rails project in 2025? 8 practical tips | Ruby on Rails
  • Home
  • About Us
  • Cooperation
  • Projects
  • Blog
  • Contacts

TheUpperCode | Website development | Ruby on Rails