From 4a14d54eb520f9776710102bfec740467b549745 Mon Sep 17 00:00:00 2001
From: Ilya Vorontsov <vorontsov.i.e@gmail.com>
Date: Thu, 5 Sep 2019 11:06:51 +0300
Subject: [PATCH] [ruby/ru] [ruby/en] added notes about postfix-if and about

---
 ru-ru/ruby-ru.html.markdown | 10 ++++++++++
 ruby.html.markdown          |  8 ++++++++
 2 files changed, 18 insertions(+)

diff --git a/ru-ru/ruby-ru.html.markdown b/ru-ru/ruby-ru.html.markdown
index e69c6d94..b1fd04e1 100644
--- a/ru-ru/ruby-ru.html.markdown
+++ b/ru-ru/ruby-ru.html.markdown
@@ -231,6 +231,7 @@ new_hash.value?(3) #=> true
 
 # Управление ходом выполнения (Управляющие структуры)
 
+# Условия
 if true
   'Если истина'
 elsif false
@@ -239,6 +240,15 @@ else
   'Во всех других случаях (тоже опционально)'
 end
 
+# Если условие контролирует выполнение не блока кода, а единственного выражения,
+# можно использовать постфиксную запись условного оператора
+warnings = ['Отсутствует отчество', 'Слишком короткий адрес']
+puts("Обратите внимание:\n" + warnings.join("\n"))  if !warnings.empty?
+
+# Иногда условие лучше звучит с `unless`, чем с `if`
+puts("Обратите внимание:\n" + warnings.join("\n"))  unless warnings.empty?
+
+# Циклы
 for counter in 1..5
   puts "итерация #{counter}"
 end
diff --git a/ruby.html.markdown b/ruby.html.markdown
index 2595d1d5..d77672ab 100644
--- a/ruby.html.markdown
+++ b/ruby.html.markdown
@@ -247,6 +247,14 @@ else
   'else, also optional'
 end
 
+# If a condition controls invokation of a single statement rather than a block of code
+# you can use postfix-if notation
+warnings = ['Patronimic is missing', 'Address too short']
+puts("Some warnings occurred:\n" + warnings.join("\n"))  if !warnings.empty?
+
+# Rephrase condition if `unless` sounds better than `if`
+puts("Some warnings occurred:\n" + warnings.join("\n"))  unless warnings.empty?
+
 # Loops
 # In Ruby, traditional `for` loops aren't very common. Instead, these 
 # basic loops are implemented using enumerable, which hinges on `each`.