diff options
author | Ilya Vorontsov <vorontsov.i.e@gmail.com> | 2019-09-05 11:06:51 +0300 |
---|---|---|
committer | Ilya Vorontsov <vorontsov.i.e@gmail.com> | 2019-09-05 11:06:51 +0300 |
commit | 4a14d54eb520f9776710102bfec740467b549745 (patch) | |
tree | 0b2bf822e0625d4ea483489fdb2b4d55cd81341f | |
parent | ffb9c5f909d860a98d3d86ed49bc169413e0dd65 (diff) |
[ruby/ru] [ruby/en] added notes about postfix-if and about
-rw-r--r-- | ru-ru/ruby-ru.html.markdown | 10 | ||||
-rw-r--r-- | ruby.html.markdown | 8 |
2 files changed, 18 insertions, 0 deletions
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`. |