📜  定义? Ruby中的关键字(1)

📅  最后修改于: 2023-12-03 15:25:09.007000             🧑  作者: Mango

Ruby中的关键字

Ruby是一种面向对象、动态类型的编程语言,具有简洁、清晰的语法结构以及丰富的内置方法库。在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

BEGINEND 表示程序的开始和结束,在程序运行时分别被调用。 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 关键字用于给一个方法或变量取别名,如下所示:

alias new_name old_name
and/or/not

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

beginend 关键字用于定义一段代码块,在这段代码块中可以定义新的变量或方法。以下是它们的使用方式:

begin
  # Code block
  puts "Hello, world!"
end
break

break 关键字用于从一个循环或 block 中跳出。以下是它们的使用方式:

while true
  puts "This is an infinite loop"
  break # Exit the loop
end
case/when

casewhen 关键字用于编写多路分支语句。以下是它们的使用方式:

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 关键字用于定义一个类。以下是它们的使用方式:

class ClassName
  # Class definition
end
def

def 关键字用于定义一个方法。以下是它们的使用方式:

def method_name(parameter1, parameter2, ...)
  # Method body
end
defined?

defined? 用于判断一个变量是否已经被定义过。以下是它们的使用方式:

if defined? variable_name
  puts "variable_name has been defined"
else
  puts "variable_name has not been defined"
end
do/end

doend 用于定义一个代码块,在这个代码块内可以定义新的变量或方法。以下是它们的使用方式:

numbers.each do |i|
  puts i
end
else

else 用于与 ifcase 配合使用,在条件判断语句的结果为 false 时执行。以下是它们的使用方式:

if x > 0
  puts "x is positive"
else
  puts "x is negative or zero"
end
elsif

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 用于标记一个代码块的结束。例如,定义类、方法、模块时都需要用到 end 关键字。以下是一些示例:

class MyClass
  # Class definition
end

def my_method
  # Method body
end

module MyModule
  # Module Definition
end
ensure

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

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

forin 用于遍历一个集合中的元素。以下是它们的使用方式:

for i in 0..5
  puts i
end
if/else

ifelse 用于表示条件判断语句。以下是它们的使用方式:

if x > 5
  puts "x is greater than 5"
else
  puts "x is less than or equal to 5"
end
in

in 用于表示一个对象是否从属于某个集合。以下是它们的使用方式:

if variable_name in collection_name
  puts "variable_name is in collection_name"
end
module

module 用于定义一个模块。以下是它们的使用方式:

module MyModule
  # Module definition
end
next

next 用于跳过当前循环中余下的代码,继续执行下一次循环。以下是它们的使用方式:

for i in 0..5
  if i == 2
    next # Skip the rest of the code in this iteration
  end
  puts i
end
nil

nil 表示空值,类似于 null。以下是它们的使用方式:

if variable_name.nil?
  puts "variable_name is undefined or has a value of nil"
end
not

not 用于逻辑上取反操作。以下是它们的使用方式:

if not x == 5
  puts "x is not equal to 5"
end
or

or 用于表示逻辑上的“或”运算。以下是它们的使用方式:

if x > 5 or x < 2
  puts "x is greater than 5 or less than 2"
end
redo

redo 用于重复执行循环中的语句。以下是它们的使用方式:

for i in 0..5
  if i == 2
    redo # Repeat the entire loop from the beginning
  end
  puts i
end
rescue

rescue 用于处理异常。以下是它们的使用方式:

begin
  # Code block that may raise exceptions
rescue
  # Code block to handle exceptions
end
retry

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

return 用于从一个方法中返回值。以下是它们的使用方式:

def sum(a, b)
  return a + b
end
self

self 表示一个对象本身。以下是它们的使用方式:

class MyClass
  def my_method
    puts self # prints "MyClass"
  end
end
super

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

then 用于与 if/unless/when 配合使用,表示接下来的语句属于条件判断语句的一部分。以下是它们的使用方式:

if x > 5 then puts "x is greater than 5" end
true

true 表示逻辑上的“真”。以下是它们的使用方式:

if true
  puts "This code will always be executed"
end
undef

undef 用于取消一个方法的定义。以下是它们的使用方式:

class MyClass
  def my_method
    # Method body
  end

  undef my_method # Undefine my_method method
end
结论

Ruby中的关键字是程序设计中不可或缺的基本元素之一,掌握它们的使用方法对于编写高质量的程序至关重要。在代码中,要正确地使用关键字,以确保程序可以按照预期的方式运行。