在Ruby中,控制結構用于控制程序的執(zhí)行流程。它們主要分為以下幾類:
條件語句:這些語句允許根據特定條件執(zhí)行代碼塊。在Ruby中,最常用的條件語句是if
、else
和elsif
。例如:
if condition
# 當條件為真時執(zhí)行的代碼
else
# 當條件為假時執(zhí)行的代碼
end
你還可以使用unless
語句,它的行為與if
相反:
unless condition
# 當條件為假時執(zhí)行的代碼
else
# 當條件為真時執(zhí)行的代碼
end
循環(huán)語句:這些語句允許重復執(zhí)行代碼塊,直到滿足某個條件為止。在Ruby中,常見的循環(huán)語句有:
while
循環(huán):當給定條件為真時,執(zhí)行循環(huán)體中的代碼。
while condition
# 循環(huán)體中的代碼
end
until
循環(huán):當給定條件為假時,執(zhí)行循環(huán)體中的代碼。
until condition
# 循環(huán)體中的代碼
end
for
循環(huán):用于遍歷數組或范圍。
for variable in range
# 循環(huán)體中的代碼
end
each
方法:用于遍歷數組或集合,對每個元素執(zhí)行代碼塊。
array.each do |element|
# 對每個元素執(zhí)行的代碼
end
迭代器:迭代器是一種特殊類型的對象,它允許你在遍歷數據結構時逐個訪問元素。在Ruby中,可以使用each
方法創(chuàng)建迭代器。例如:
array = [1, 2, 3, 4, 5]
iterator = array.each
**case語句**:
case語句允許你根據多個條件執(zhí)行不同的代碼塊。它類似于
if語句的多個
elsif`子句,但更加簡潔。例如:
case value
when 1
# 當值為1時執(zhí)行的代碼
when 2
# 當值為2時執(zhí)行的代碼
else
# 當值不匹配任何case時執(zhí)行的代碼
end
這些控制結構使得Ruby程序具有靈活性和強大的功能。你可以根據需要組合使用這些結構來編寫復雜的邏輯。