mirror of
https://github.com/adambard/learnxinyminutes-docs.git
synced 2024-10-05 00:58:17 +03:00
Merge pull request #3621 from VorontsovIE/ruby-postfix-if
[ruby/ru] [ruby/en] notes about postfix-if and `unless`
This commit is contained in:
commit
c3cc7cc7b2
@ -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
|
||||
|
@ -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`.
|
||||
|
Loading…
Reference in New Issue
Block a user