Ruby基础入门与核心概念梳理

需积分: 10 4 下载量 138 浏览量 更新于2024-09-08 收藏 31KB TXT 举报
Ruby是一种面向对象的动态编程语言,以其简洁明快的语法和高度灵活性而受到开发者喜爱。本篇学习笔记涵盖了Ruby基础语法的全面梳理,适合初学者进行自学。 **1. 手动编译与运行Ruby命令** 在Ruby中,使用`-C`选项可以检测代码的正确性,如果返回`syntaxok`则表示代码无误。`-W`用于警告模式,遇到错误会立即显示;`-e`则可以直接执行单个脚本;`-l`则在行模式下运行,适合交互式操作。 **2. 类与对象基础** Ruby类的概念与C#相似,包含构造函数(初始化方法,如`initialize`),用于创建对象并初始化属性。常量以大写字母开头且全大写,如`PI`;变量遵循小写字母或下划线开头的规则,区分局部、实例和全局变量:局部变量(小写)在方法内有效,实例变量(@开头)是类内部共享的,全局变量($开头)在整个程序范围内可见。 **3. 类与对象的组织** 类的定义采用`Class`关键字,通过子类化实现继承。类实例化通过`new`方法,如`a = b.new`。内部类(嵌套类)需通过双冒号`::`来实例化,如`a = b::c`。特殊类如单例类可以通过`class << self`定义。 **4. 方法与属性** Ruby支持类方法(`class << name`)、实例方法、类变量(@@开头)和属性。定义方法时可以设置默认参数值,如`def dog(food = "骨头")`。属性可以通过实例变量实现,并通过`attr_accessor`, `attr_reader`, 或 `attr_writer`等宏定义读写权限。 **5. 特殊方法与对象操作** 对象可以通过`show`这样的特殊方法添加自定义行为,例如`def object.show(method_name)`。属性可以通过`=`操作符直接在实例化时赋值,同时也可以使用getter和setter方法进行控制。 **6. 构造函数与实例化** `initialize`是构造函数,用于初始化对象,如`def initialize(a, b) @a = a, @b = b end`。实例化时可以直接为对象分配属性值,如`dog = Person.new(1, 2, 3)`。 **7. 代码块与块传递** Ruby的代码块可以用`{}`或`do..end`语法定义,作为参数传递给方法时,使用`yield`关键字执行。当块需要接收参数时,应在参数前使用`&`符号,如`method_name(&block)`。 总结来说,这篇Ruby学习笔记详尽地介绍了语言的基础结构,包括编译选项、类与对象的创建、方法和属性、特殊方法以及代码块的使用。对于想要系统学习Ruby的读者来说,这是一份宝贵的参考资料。