iT邦幫忙

2023 iThome 鐵人賽

DAY 12
0
自我挑戰組

自我挑戰Ruby系列 第 12

Day 12 - 流程控制1

  • 分享至 

  • xImage
  •  

什麼是流程控制?

流程控制定義就是程式執行的流程順序,和對應不同狀況而採取不同流程。

就好比說今天要出門,出門前,自己會判斷說現在有沒有下雨,

如果有就會帶雨傘,如果沒有就不帶雨傘,

那出門後也可能會判斷說今天要搭什麼交通工具…等,一系列的判斷句直到回家。

條件判斷控制

判斷條件的真假,藉由真假的情況將指定程式應該執行的地方。

一種為if…else…,另外一種為case..when…。

比較

在藉由條件判斷前,我們必須要了解比較的方法:

> → 大於

< → 小於

>= → 大於等於

<= → 小於等於

== → 等於

!= → 不等於

&& → 和(且)

|| → 或

如果加上 (是或否)

通常我們使用if的時候,後面都會搭配上一個判斷句,

這個判斷句的答案,不是「是」就是「否」的答案。

判斷句我們都藉由等號來形成判斷句,一個等號(=)是指定,而兩個等號(==)則是比較。

例如:我們以前上學的時候,生病時通常會在家休息。

https://ithelp.ithome.com.tw/upload/images/20230927/201622511s8If1glFu.png

situation = “sick” 是先指定現在的狀態是生病的狀態,

藉由if詢問如果situation == “sick”,如果狀態是生病的話,那要留在家裡。

的確現在狀態是生病的狀態,自然的他會印出stay at home。

除非(unless)

除非的意思就是在「除了在…的情況之下」,所以unless其實跟if not是相同的用法。

if not situation == "sick"
	puts "go to school"
end

除了在生病的情況之下,那就要去學校。這裡的if not 可以改成unless。

unless situation == "sick"
	puts "go to school"
end

倒裝句

我們可以藉由只一行的if判斷式讓我們的程式做倒裝句的概念。由上述例子,我們可以改成:

puts "stay at home" if situation == "sick"

puts "go to school" if not situation == "sick"

puts "go to school" unless situation == "sick"

Day 12 結語

對於流程控制其實在我們身邊息息相關,今天學習的只是一小部分,

因為還有二分法,甚至還有多條件運算,甚至可以用三元運算子做表示…等,

真的越來越期待後面!


上一篇
Day 11 - 字串3
下一篇
Day 13 - 流程控制2
系列文
自我挑戰Ruby30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言