Ruby 语法学习笔记
变量(variable)
Ruby 中的变量不需要事先声明类型,它是动态类型的语言。可以使用任何字母、数字和下划线。变量名必须以字母或下划线开头。
局部变量(local variable)
局部变量是以一个小写字母或下划线(_)开头。局部变量在声明它的块或方法中可见。如果没有初始化局部变量,则会被赋予 nil
值。
实例:
rubyCopy Codedef hello
name = "Ruby"
puts "Hello, #{name}!"
end
hello #输出 "Hello, Ruby!"
全局变量(global variable)
全局变量以 $
开头,可以在整个程序中访问。
实例:
rubyCopy Code$global_variable = 10
class Example
def print_global
puts "全局变量输出:#$global_variable"
end
end
examp = Example.new
examp.print_global #输出 "全局变量输出:10"
实例变量(instance variable)
实例变量以 @
开头,只能在对象的上下文中访问。实例变量的值,在定义它的对象销毁时才会消失。
实例:
rubyCopy Codeclass Example
def initialize(name)
@name = name
end
def print_name
puts "我的名字是 #{@name}"
end
end
examp = Example.new("Ruby")
examp.print_name #输出 "我的名字是 Ruby"
类变量(class variable)
类变量以 @@
开头,可以在类及其子类中访问。
实例:
rubyCopy Codeclass Example
@@count = 0
def initialize
@@count += 1
end
def self.print_count
puts "创建的 Example 对象数为 #@@count"
end
end
examp1 = Example.new
examp2 = Example.new
Example.print_count #输出 "创建的 Example 对象数为 2"
控制结构(control structure)
条件语句(if/else)
Ruby 中的条件语句与其他语言类似,使用关键字 if
和关键字 else
。条件语句的值必须是布尔值。
实例:
rubyCopy Codex = 10
if x > 5
puts "x 是大于 5 的"
else
puts "x 是小于或等于 5 的"
end
#输出 "x 是大于 5 的"
循环语句(loop)
Ruby 提供了多种循环语句。其中,while
和 until
语句用于判断条件是否为真,for
语句用于迭代集合中的元素。
实例:
rubyCopy Code# while 循环
$i = 0
$num = 5
while $i < $num do
puts "当前数字是 #$i"
$i += 1
end
# until 循环
$i = 0
$num = 5
until $i >= $num do
puts "当前数字是 #$i"
$i += 1;
end
# for 循环
array = [1, 2, 3, 4, 5]
for i in array do
puts "当前数字是 #{i}"
end
方法(method)
Ruby 中方法以 def
关键字开头,后跟方法名称和代码块。方法名称应以小写字母或下划线开头。如果方法名称由多个单词组成,将下一个单词的首字母必须大写。
实例:
rubyCopy Codedef say_hello(name)
puts "你好,#{name}!"
end
say_hello("Ruby") #输出 "你好,Ruby!"
类(class)
类是一组对象的集合。在 Ruby 中,使用关键字 class
定义类。
实例:
rubyCopy Codeclass Example
def initialize(name)
@name = name
end
def print_name
puts "我的名字是 #{@name}"
end
end
examp = Example.new("Ruby")
examp.print_name #输出 "我的名字是 Ruby"
以上是 Ruby 语法学习笔记的概览,希望对你学习 Ruby 有所帮助。