📅  最后修改于: 2023-12-03 15:25:09.007000             🧑  作者: Mango
Ruby是一种面向对象、动态类型的编程语言,具有简洁、清晰的语法结构以及丰富的内置方法库。在Ruby中,有一些具有特殊含义的单词,被称为“关键字”。这些关键字通常用于声明变量、定义类与方法、控制程序流程等方面,是Ruby程序设计中不可或缺的基本元素之一。
以下是Ruby中的关键字列表,共计42个:
__ENCODING__ and def END in or self
__FILE__ begin defined? ensure module redo super
__LINE__ break do false next rescue then
alias case else for nil retry true
and class elsif if not return undef
BEGIN
和 END
表示程序的开始和结束,在程序运行时分别被调用。 BEGIN
块在程序开始时被执行,END
块在程序结束时被执行。以下是它们的使用方式:
BEGIN {
# Code to be executed at the start of the program
puts "Starting program"
}
END {
# Code to be executed at the end of the program
puts "Ending program"
}
alias
关键字用于给一个方法或变量取别名,如下所示:
alias new_name old_name
and
, or
, 和 not
关键字用于逻辑运算。以下是它们的使用方式:
x = 10
if x > 5 and x < 15
puts "x is between 5 and 15"
end
if x > 5 or x < 2
puts "x is greater than 5 or less than 2"
end
if not x == 5
puts "x is not equal to 5"
end
begin
和 end
关键字用于定义一段代码块,在这段代码块中可以定义新的变量或方法。以下是它们的使用方式:
begin
# Code block
puts "Hello, world!"
end
break
关键字用于从一个循环或 block
中跳出。以下是它们的使用方式:
while true
puts "This is an infinite loop"
break # Exit the loop
end
case
和 when
关键字用于编写多路分支语句。以下是它们的使用方式:
case variable_name
when value1
# Code to be executed when variable_name is equal to value1
when value2
# Code to be executed when variable_name is equal to value2
else
# Code to be executed when variable_name is not equal to any value defined in when clauses
end
class
关键字用于定义一个类。以下是它们的使用方式:
class ClassName
# Class definition
end
def
关键字用于定义一个方法。以下是它们的使用方式:
def method_name(parameter1, parameter2, ...)
# Method body
end
defined?
用于判断一个变量是否已经被定义过。以下是它们的使用方式:
if defined? variable_name
puts "variable_name has been defined"
else
puts "variable_name has not been defined"
end
do
和 end
用于定义一个代码块,在这个代码块内可以定义新的变量或方法。以下是它们的使用方式:
numbers.each do |i|
puts i
end
else
用于与 if
或 case
配合使用,在条件判断语句的结果为 false
时执行。以下是它们的使用方式:
if x > 0
puts "x is positive"
else
puts "x is negative or zero"
end
elsif
用于与 if
配合使用,可以使用多个 elsif
表示多个判断条件。以下是它们的使用方式:
if x > 5
puts "x is greater than 5"
elsif x < 5
puts "x is less than 5"
else
puts "x is equal to 5"
end
end
用于标记一个代码块的结束。例如,定义类、方法、模块时都需要用到 end
关键字。以下是一些示例:
class MyClass
# Class definition
end
def my_method
# Method body
end
module MyModule
# Module Definition
end
ensure
用于与 begin
配合使用,能保证无论 begin
中是否发生异常,代码块都会被执行。以下是它们的使用方式:
begin
# Code block that may raise exceptions
rescue
# Code block to handle exceptions
ensure
# Code block that will always be executed
end
false/true/nil
表示逻辑上的假、真、空值。以下是它们的使用方式:
if false
puts "This code will never be executed"
end
if true
puts "This code will always be executed"
end
if variable_name.nil?
puts "variable_name is undefined or has a value of nil"
end
for
和 in
用于遍历一个集合中的元素。以下是它们的使用方式:
for i in 0..5
puts i
end
if
和 else
用于表示条件判断语句。以下是它们的使用方式:
if x > 5
puts "x is greater than 5"
else
puts "x is less than or equal to 5"
end
in
用于表示一个对象是否从属于某个集合。以下是它们的使用方式:
if variable_name in collection_name
puts "variable_name is in collection_name"
end
module
用于定义一个模块。以下是它们的使用方式:
module MyModule
# Module definition
end
next
用于跳过当前循环中余下的代码,继续执行下一次循环。以下是它们的使用方式:
for i in 0..5
if i == 2
next # Skip the rest of the code in this iteration
end
puts i
end
nil
表示空值,类似于 null
。以下是它们的使用方式:
if variable_name.nil?
puts "variable_name is undefined or has a value of nil"
end
not
用于逻辑上取反操作。以下是它们的使用方式:
if not x == 5
puts "x is not equal to 5"
end
or
用于表示逻辑上的“或”运算。以下是它们的使用方式:
if x > 5 or x < 2
puts "x is greater than 5 or less than 2"
end
redo
用于重复执行循环中的语句。以下是它们的使用方式:
for i in 0..5
if i == 2
redo # Repeat the entire loop from the beginning
end
puts i
end
rescue
用于处理异常。以下是它们的使用方式:
begin
# Code block that may raise exceptions
rescue
# Code block to handle exceptions
end
retry
用于在 rescue
块内重试执行代码块。以下是它们的使用方式:
begin
# Code block that may raise exceptions
rescue
# Code block to handle exceptions
retry # Retry the entire code block from the beginning
end
return
用于从一个方法中返回值。以下是它们的使用方式:
def sum(a, b)
return a + b
end
self
表示一个对象本身。以下是它们的使用方式:
class MyClass
def my_method
puts self # prints "MyClass"
end
end
super
用于在子类中调用父类的方法,也可用于传递参数。以下是它们的使用方式:
class MyParentClass
def my_method(arg1, arg2)
# Some code here
end
end
class MyChildClass < MyParentClass
def my_method(arg1, arg2, arg3)
super(arg1, arg2) # Call the my_method method in the parent class with the first two arguments
# Code that uses arg3 here
end
end
then
用于与 if/unless/when
配合使用,表示接下来的语句属于条件判断语句的一部分。以下是它们的使用方式:
if x > 5 then puts "x is greater than 5" end
true
表示逻辑上的“真”。以下是它们的使用方式:
if true
puts "This code will always be executed"
end
undef
用于取消一个方法的定义。以下是它们的使用方式:
class MyClass
def my_method
# Method body
end
undef my_method # Undefine my_method method
end
Ruby中的关键字是程序设计中不可或缺的基本元素之一,掌握它们的使用方法对于编写高质量的程序至关重要。在代码中,要正确地使用关键字,以确保程序可以按照预期的方式运行。