流程控制定義就是程式執行的流程順序,和對應不同狀況而採取不同流程。
就好比說今天要出門,出門前,自己會判斷說現在有沒有下雨,
如果有就會帶雨傘,如果沒有就不帶雨傘,
那出門後也可能會判斷說今天要搭什麼交通工具…等,一系列的判斷句直到回家。
判斷條件的真假,藉由真假的情況將指定程式應該執行的地方。
一種為if…else…,另外一種為case..when…。
在藉由條件判斷前,我們必須要了解比較的方法:
>
→ 大於
< → 小於
>=
→ 大於等於
<= → 小於等於
== → 等於
!= → 不等於
&& → 和(且)
|| → 或
通常我們使用if的時候,後面都會搭配上一個判斷句,
這個判斷句的答案,不是「是」就是「否」的答案。
判斷句我們都藉由等號來形成判斷句,一個等號(=)是指定,而兩個等號(==)則是比較。
例如:我們以前上學的時候,生病時通常會在家休息。
situation = “sick” 是先指定現在的狀態是生病的狀態,
藉由if詢問如果situation == “sick”,如果狀態是生病的話,那要留在家裡。
的確現在狀態是生病的狀態,自然的他會印出stay at home。
除非的意思就是在「除了在…的情況之下」,所以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"
對於流程控制其實在我們身邊息息相關,今天學習的只是一小部分,
因為還有二分法,甚至還有多條件運算,甚至可以用三元運算子做表示…等,
真的越來越期待後面!