freeCodeCamp/guide/russian/ruby/ruby-conditionals/index.md

55 lines
2.0 KiB
Markdown
Raw Normal View History

2018-10-12 20:00:59 +00:00
---
title: Ruby Conditionals
2018-12-04 13:54:25 +00:00
localeTitle: Условные операторы в Ruby
2018-10-12 20:00:59 +00:00
---
2018-12-04 13:54:25 +00:00
В Ruby есть несколько часто используемых условных операторов (операторов ветвления).
2018-10-12 20:00:59 +00:00
2018-12-04 13:54:25 +00:00
## Оператор If
2018-10-12 20:00:59 +00:00
2018-12-04 13:54:25 +00:00
Достаточно распространенный оператор во многих языках программирования, он выполняет только ту часть кода для которой условие истинно, иначе выполняется код из блока `else` . Оператор if состоит из одного, `if` , может включать любое количество `elsif` и одного необязательного `else` .
2018-10-12 20:00:59 +00:00
* ```ruby
fruit = :apple
if fruit == :apple
puts "Your fruit is an apple"
elsif fruit == :orange
puts "Your fruit is an orange"
else
puts "This is not an apple or an orange"
end
```
2018-12-04 13:54:25 +00:00
### Оператор Unless
2018-10-12 20:00:59 +00:00
2018-12-04 13:54:25 +00:00
Оператор unless противоположность оператора if. Другими словами, это оператор if с отрицанием.
2018-10-12 20:00:59 +00:00
2018-12-04 13:54:25 +00:00
* `ruby happy = true if !happy puts "This person is not happy" end` Эквиваленто следующему
2018-10-12 20:00:59 +00:00
* `ruby unless happy puts "This person is not happy" end`
2018-12-04 13:54:25 +00:00
## Тернарный оператор
2018-10-12 20:00:59 +00:00
2018-12-04 13:54:25 +00:00
В качестве короткого условного оператора используется тернарный оператор. Он имеет следующий синтаксис:
2018-10-12 20:00:59 +00:00
* `ruby game = "won" fans = game == "won" ? "happy" : unhappy fans # => "happy"`
2018-12-04 13:54:25 +00:00
## Оператор Case
2018-10-12 20:00:59 +00:00
Оператор case похож на оператор if / elsif / else
* ```ruby
fruit = :apple
case fruit
when :apple
puts "Your fruit is an apple"
when :orange
puts "Your fruit is an orange"
else
puts "This is not an apple or an orange"
end
2018-12-04 13:54:25 +00:00
```