1.9Ruby语言的条件(Conditional)、循环(Loop)、跳转(Jump)语句

1.if条件

#普通方式
if 表达式
  #语句
end
#修饰符方式
语句 if 表达式

2.if-else条件

if 表达式
  #语句1
else
  #语句2
end

3.if-else-if条件

if 表达式1
  #语句1
elsif 表达式2
  #语句2
else
  #语句3
end

4.unless条件

unless 语句与 if 语句相反。

注意:unless 语句没有 elsif 从句。

#普通方式
unless 表达式
  #语句
end
#修饰符方式
语句 unless 表达式

5.unless-else条件

unless 表达式
  #语句1
else
  #语句2
end

6.case-when条件

case 语句用于将 case_expression 按从上往下的顺序与 when_expression 逐个进行匹配测试,直到 case 语句结束 或 遇到第一个匹配成功的 when_expression 并执行此 when_expression 后的语句。

else 语句非必须有。如果有 else 语句,当 case_expression 匹配不到任何一个 when_expression 时,else 语句会被执行,否则不会被执行。一个 case 语句只能有一个 else 语句。

注意:匹配测试使用的是 when_expression=== 运算符。

注意:when_expression 后的语句有隐式的 break 语句。

case case_expression
  when when_expression1
    #语句1
  when when_expression2
    #语句2
  when when_expressionN
    #语句N
  else
    #语句
end

7.while循环

#普通方式
while 表达式
  #语句
end
#修饰符方式
语句 while 表达式

8.until循环

until 语句与 while 语句相反。

#普通方式
until 表达式
  #语句
end
#修饰符方式
语句 until 表达式

9.for-in循环

for-in 语句用于迭代任何实现了 each() 方法的对象(比如数组、哈希、集合、范围等)中的元素。

for 变量名 in 可迭代对象
  #语句
end
for 键, 值 in 可迭代对象
  #语句
end

10.break跳转

一旦遇到 break 语句,则立即跳出(break out of)最近的循环语句 或 最近的迭代器,并从最近的循环语句 或 最近的迭代器外继续向下执行。

break
break 表达式
#返回的多个值会被打包成数组
break 表达式1, 表达式2, 表达式N

11.next跳转

一旦遇到 next 语句,则立即终止最近的循环语句 或 最近的迭代器的本次迭代,继续最近的循环语句 或 最近的迭代器的下一次(next)迭代,并不会完全终止最近的循环语句 或 最近的迭代器。

next
next 表达式
#返回的多个值会被打包成数组
next 表达式1, 表达式2, 表达式N

12.redo跳转

一旦遇到 redo 语句,则立即跳转到最近的循环语句的循环体 或 最近的迭代器的块体内的第一行语句。

redo

13.return跳转

一旦遇到 return 语句,包含 return 关键字的方法就会立即停止执行,并将 return 关键字后的表达式的返回值返回给包含 return 关键字的方法的调用者。

注意:return 关键字只可以被使用在方法体内。

return
return 表达式
#返回的多个值会被打包成数组
return 表达式1, 表达式2, 表达式N

如果一个方法体内根本没有 return 语句,则会将方法体内最后一个表达式的返回值返回给方法的调用者。

如果 return 关键字后没有表达式,则会将 nil 值返回给方法的调用者。

def f()
  return
end

p f()  # nil

原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/ruby/rubylang/37421.html

(0)
huoxiaoqiang的头像huoxiaoqiang
上一篇 2025年3月8日 19:40
下一篇 2025年3月9日 19:41

相关推荐

  • 2.3Ruby类型之字符串(String)

    1.单引号字符串字面量 单引号字符串字面量只支持 \\、\’ 转义序列。 单引号字符串字面量不支持字符串插值。 单引号字符串字面量支持隐式的换行符。 2.双引号字符串字面量 双引号字符串字面量支持所有转义序列。 双引号字符串字面量支持字符串插值。 双引号字符串字面量支持隐式的换行符。 3.访问字符串 4.字符串长度 注…

    Ruby语言教程 2025年5月3日
    0250
  • 2.4Ruby类型之符号(Symbol)

    1.符号声明 注意:符号不是轻量的字符串。

    Ruby语言教程 2025年5月4日
    0230
  • 1.6Ruby语言的常量(Constant)

    1.常量声明 常量在赋值后可以通过重新赋值更改其值,会报错。 如果一个常量存储的是对象的引用,意味着此常量必须总是引用同一个对象。例如,改变数组的元素是可以的。 2.常量作用域 注意:Ruby 语言不支持局部常量。 3.常量引用表达式

    Ruby语言教程 2025年3月6日
    0230

发表回复

登录后才能评论