💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 控制语句 每个编程语言都必须有控制语句,Ruby也不例外。Ruby中的控制语句包含下面几种: - 条件选择语句 (if/ case) - 循环语句 (while/ for/ until) - 迭代语句 (each) ### 条件选择语句 (if/ case) ~~~ x=1 if x > 2 puts "x is greater than 2" elsif x <= 2 and x!=0 puts "x is 1" else puts "I can't guess the number" end ~~~ 通过上面例子,基本可以了解if语句的用法了。和其他语言没什么两样。不过在Ruby中,如果你的条件只有一重,可以使用下面的格式,也叫if修饰符: ~~~ word = 'world' puts "hello #{word}" if word #=> "hello world" ~~~ 上面的两段代码中,if后面只要跟表示true的表达式,就可以执行if分支,否则就执行其他if分支,比如elsif,或else分支。。 ### 循环语句 (while/ for/ until) 直接看例子吧: ~~~ @i = 0; num = 5; while @i < num do puts("Inside the loop i = #@i" ); @i +=1; end ~~~ while循环语句,上面的代码中有一段: ~~~ puts("Inside the loop i = #@i" ); ~~~ 这句中的#@i 实际上是#{@i},在变量为非本地变量情况下,Ruby允许你省略{}。 ~~~ $i = 0; $num = 5; begin puts("Inside the loop i = #$i" ); $i +=1; end while $i < $num ~~~ 可以使用begin...end while语句,类似于其他语言的do...while。 until语句: ~~~ $i = 0; $num = 5; until $i > $num do puts("Inside the loop i = #$i" ); $i +=1; end ~~~ 跟while的条件相反才执行。 for语句: ~~~ for i in 0..5 puts "Value of local variable is #{i}" end ~~~ ### 迭代语句 (each) each是我们最常用的迭代语句,一般都用它来替代循环语句。 ~~~ [1, 2, 3].each do |i| puts i end ~~~ 这里涉及到do...end代码块,我们下节会讲到这个概念。