diff options
author | Divay Prakash <divayprakash@users.noreply.github.com> | 2019-09-17 19:27:44 +0530 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-17 19:27:44 +0530 |
commit | c3cc7cc7b23a5306b3b3c27b7d56e99ee968f510 (patch) | |
tree | c75378e792a95bd8beb3ee5751fa461d59c65092 | |
parent | a808656085b040c89a8a94677fb7e38f03a3e374 (diff) | |
parent | 4a14d54eb520f9776710102bfec740467b549745 (diff) |
Merge pull request #3621 from VorontsovIE/ruby-postfix-if
[ruby/ru] [ruby/en] notes about postfix-if and `unless`
-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`. |