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
/
Як приймати рішення в Ruby? Умовні оператори

Як приймати рішення в Ruby? Умовні оператори

10 April 2023
Lessons
TheUpperCode | Як приймати рішення в Ruby? Умовні оператори | Ruby on Rails

Сьогодні на уроці:

  1. Як приймати рішення в Ruby? Умовні оператори
  2. Гарний «тон» в Ruby кодуванні

Як приймати рішення в Ruby? Умовний оператор if

Наприклад, в нас є такі моменти:

  •  «Якщо в кімнаті занадто холодно, увімкнути обігрівач»
  • «Якщо у нас недостатньо цього продукту, надішли мені сповіщення про це»
  • «Якщо цей клієнт працює з нами більше 3 років, надішліть йому подарунок»

Саме такі речі я маю на увазі під прийняттям рішень. Якщо щось вірно (умова), то ви можете щось зробити. У Ruby ви робите це за допомогою операторів if:

Зверніть увагу на синтаксис. Важливо зробити це правильно.

stock < 1 - це те, що ми називаємо «умовою», що має бути правдою(true), щоб код всередині умови працював.

Простою українською мовою це означає:

«Якщо кількість запасу менше ніж 1, надрукуйте повідомлення «немає в наявності», інакше нічого не робіть».

Умовний оператор unless

За допомогою оператора if ви можете перевірити, чи щось правдиве (чи умова == true).

Але якщо ви хочете перевірити протилежне «неправда» (хибність), ви можете зробити дві речі. Ви можете змінити значення за допомогою !

Або ви можете використати умовний оператор unless (протилежний до if), але перевіряється на «невірно»:

Пам’ятайте, що використання unless у Ruby є просто протилежним до використання if.

Це виглядає так: «якщо це неправда, то зробіть це…».

Умовний оператор if з else

Ви також можете сказати «якщо це НЕправда, тоді зробіть те інше»:

Частина else не є обов’язкова, але вона може допомогти вам написати більш розширену логіку.

Ви можете піти далі й використати оператор elsif:

За допомогою elsif ви можете сказати:

«Якщо в наявності менше 1, надрукуйте це повідомлення, інакше, якщо запас дорівнює 10, надрукуйте це спеціальне повідомлення, інакше, якщо жодне з них не відповідає дійсності, надрукуйте повідомлення подяки».

Як використовувати декілька умов

Якщо ви хочете написати складніші умови, де ви перевіряєте, чи дві речі істинні одночасно, то це можна зробити за допомогою оператора && (AND):

«Якщо ім’я дорівнює «Девід», а країна — «Україна», то зробіть щось».

P.S. в ruby абревіатури України позначаються за допомогою uk, зазвичай.

 

Також можна використовувати || (АБО) оператор:

«Якщо вам 10 або 20 років, то робіть щось».

Зверніть увагу, як ці два оператори (&&, ||) дозволяють вам поєднувати умови. Ви не можете просто написати так:

Це невірна умова після ||. Вам потрібна повна умова з кожного боку:

age == 10 || age == 20

Типи умов

В першому прикладі я використовую символ «менше» <, але є й інші символи, які можна використовувати для інших значень.

 

Ось таблиця:

Зверніть увагу, що ми використовуємо два символи доврівнює ==, щоб позначити рівність (1 == 1)!

Один знак рівності = у Ruby означає «присвоєння», тому використовуйте ==, якщо ви хочете дізнатися, чи дві речі є однакові.

Гарний «тон» в Ruby кодуванні

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

Це все набудеться з досвідом, але вартує знати про існування такого поняття. Тому не вартує «завчати». + Існують деякі інструменти, які за цим слідкують та навіть автокорегують – про це розповім в подальших уроках.

Форматування

  • Використовуйте відступ 2 пробілу, без табуляції.
  • Використовуйте порожні рядки, щоб розбити довгий метод на логічні абзаци.
  • Тримайте рядки коротшими за 80 символів.
  • Уникайте кінцевих пробілів.

Синтаксис

  • Використовуйте def із дужками, коли є аргументи.
  • І навпаки, уникайте дужок, якщо їх немає.
  • Ніколи не використовуйте for, якщо можна без проблем замінити на each або loop.
  • Ніколи не використовуйте then, достатньо нового рядка.
  • not замість !
  • Уникайте, if not, використовуйте unless.
  • Для багаторядкових блоків надавайте перевагу do… end над {…}.
  • Надавайте перевагу {…} над do…end для однорядкових блоків.
  • Уникайте return, де це не потрібно.

Найменування

  • Використовуйте snake_case для методів.
  • Використовуйте CamelCase для класів і модулів. (Зберігайте такі акроніми, як HTTP, RFC і XML, великими літерами.)
  • Використовуйте _ для невикористаних змінних.

Дизайн коду

  • Уникайте непотрібного метапрограмування.
  • Уникайте довгих методів.
  • Уникайте довгих списків параметрів, замість цього подумайте про те, щоб використовувати хеш із задокументованими значеннями за замовчуванням.
  • Віддавайте перевагу функціональним методам над процедурними (поширені методи нижче):
  • each - Застосувати блок до кожного елемента
  • map - Застосуйте блок до кожного елемента та запам'ятайте повернуті значення.
  • select - знайти всі відповідні елементи
  • detect - знайти перший відповідний елемент
  • inject — еквівалент foldl з Haskell
  • Використовуйте мінливу версію функціональних методів (наприклад, map!), де це можливо, замість використання тимчасових змінних.
  • Використовуйте стандартні бібліотеки, де це можливо (перегляньте документи для різних API):

·       Hash, Array та Set

·       String

·       Fixnum та Integer

·       Thread та Mutex

·       Complex

·       Float

·       Dir та File

·       Random

·       Time

  • Віддавайте перевагу інтерполяції рядків “blah#{expr}” замість додавання до контитації string-ів.

Загальне

  • Тримайте код простим.
  • Будьте послідовними.
  • Використовуйте здоровий глузд.

 

Додаткові джерела:

Завантажити Ruby інсталятор для windows:

https://rubyinstaller.org/downloads/

Рубі за 12 хвилин – офіційний сайт ruby

Практика вирішення задач: codewars

 

#devnote

 

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

Був радий знову вийти на зв'язок з вами.

До зустрічі!

 

 


 

Група в телеграмі: 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