Ruby 教程学习笔记

本文将介绍Ruby的基础语法和常用操作,包含以下主题:

  • 变量和数据类型
  • 运算符
  • 条件判断
  • 循环控制
  • 函数定义与调用
  • 类和对象
  • 异常处理

变量和数据类型

Ruby中的变量可以是全局变量、实例变量、局部变量和类变量。变量名以字母或下划线开头,后接任意组合的字母、数字和下划线。

基本数据类型

Ruby中基本数据类型有整型、浮点型、字符串型、布尔型和Symbol型。其中Symbol型是Ruby独有的类型,与字符串类型类似但有一些不同之处。

rubyCopy Code
# 整型 num1 = 10 num2 = 0b1010 # 二进制表示方法:0b开头 num3 = 0o12 # 八进制表示方法:0o开头 num4 = 0x0A # 十六进制表示方法:0x开头 # 浮点型 float1 = 3.14159 float2 = 1.0e-6 # 科学计数法表示方法 # 字符串型 str1 = "Hello, Ruby!" str2 = 'Ruby is cool!' # 布尔型 bool1 = true bool2 = false # Symbol型 sym = :ruby # 冒号开头表示Symbol类型,不可被修改

数组和哈希表

Ruby中的数组和哈希表类似于其他编程语言中的列表和字典。数组可以存储一组有序的元素,而哈希表则存储一组key-value键值对。

rubyCopy Code
# 数组 arr1 = [1, 2, 3, 4, 5] # 直接定义 arr2 = Array.new(3) { |i| i * 2 } # 使用构造函数初始化 arr3 = Array.new(4, "Ruby") # 创建指定大小相同默认值的数组 # 哈希表 hash1 = { "a" => 1, "b" => 2, "c" => 3 } # 直接定义 hash2 = Hash.new("default_value") # 创建一个有默认值的哈希表 hash2["a"] = 100 # 添加key-value键值对

运算符

Ruby中有基本的算术、比较、逻辑和位运算符,除此之外还有一些特殊的运算符和操作符。

rubyCopy Code
# 算术运算符:+ - * / % ** num1 + num2 # 加法 num1 - num2 # 减法 num1 * num2 # 乘法 num1 / num2 # 除法 num1 % num2 # 取模 num1 ** num2 # 幂 # 比较运算符:== != > < >= <= <=>(组合比较符) num1 == num2 # 相等 num1 != num2 # 不等 num1 > num2 # 大于 num1 < num2 # 小于 num1 >= num2 # 大于等于 num1 <= num2 # 小于等于 num1 <=> num2 # 比较大小,返回1, 0或-1 # 逻辑运算符:&& || ! bool1 && bool2 # 逻辑与 bool1 || bool2 # 逻辑或 !bool1 # 逻辑非 # 位运算符:& | ^ ~ << >> num1 & num2 # 与 num1 | num2 # 或 num1 ^ num2 # 异或 ~num1 # 取反 num1 << num2 # 左移 num1 >> num2 # 右移 # 特殊操作符:.. ... ?: defined? (1..5) # 包含末尾 (1...5) # 不包含末尾 str = bool ? "true" : "false" # 三元操作符 defined? var # 判断var是否已定义

条件判断

Ruby中的条件判断语句包括if、unless、case等,可以根据不同的条件执行不同的代码块。

rubyCopy Code
# if 语句 if age < 18 puts "未成年人,禁止入内!" elsif age >= 18 && age < 60 puts "成年人,欢迎光临!" else puts "老年人,慎入!" end # unless 语句 unless score >= 60 puts "不及格!" else puts "及格!" end # case 语句 case score when 0..59 puts "不及格!" when 60..79 puts "良好!" when 80..100 puts "优秀!" else puts "错误的分数输入!" end

循环控制

Ruby中的循环语句包括while、until、for等,可以根据需要循环执行代码块。

rubyCopy Code
# while 循环语句 num = 0 while num < 10 do puts num num += 1 end # until 循环语句 num = 0 until num >= 10 do puts num num += 1 end # for 循环语句 arr = [1, 2, 3, 4, 5] for i in arr do puts i end # each 迭代器 arr.each { |i| puts i }

函数定义与调用

Ruby中的函数定义使用关键字def,函数调用使用函数名和参数列表。可以使用return关键字返回函数结果。

rubyCopy Code
# 带参数的函数定义和调用 def add(a, b) return a + b end result = add(3, 4) puts result # 可变参数的函数定义和调用 def func(name, *args) puts name args.each { |arg| puts arg } end func("Ruby", 1, 2, 3) # 匿名函数(lambda)定义和调用 sum = lambda { |a, b| return a + b } result = sum.call(2, 3) puts result

类和对象

Ruby是一种面向对象的语言,所有的数据都是对象。类定义使用关键字class,可以添加成员变量和成员方法。

rubyCopy Code
# 类定义 class Person def initialize(name, age) @name = name @age = age end def say_hello puts "Hello, I am #{@name}" end end # 对象创建和方法调用 p = Person.new("Ruby", 20) p.say_hello

异常处理

Ruby中的异常处理使用begin-end块,可以使用rescue关键字捕获异常并处理。

rubyCopy Code
# 异常处理示例 begin raise "This is an exception." rescue => e puts e.message puts e.backtrace.inspect end

以上就是Ruby的基础语法和常用操作的学习笔记,希望能够对你有所帮助!