Ruby基础入门与特性概览

需积分: 1 0 下载量 116 浏览量 更新于2024-09-15 收藏 3KB TXT 举报
Ruby是一种面向对象的动态编程语言,它的设计简洁优雅,注重代码的可读性和简洁性。以下是从给定的小笔记中提取的重要知识点: 1. **Ruby语法基础**:Ruby与C/C++等传统语言不同,它没有显式的类型定义,例如String、Integer、Double等数据类型可以直接用于变量声明。Tcl中常用的类型转换在Ruby中通过内置方法自动完成。 2. **类和对象**:在Ruby中,类定义是通过`class`和`end`关键字实现的,每个类必须包含至少一个实例方法(如`def test`),并且实例方法在创建类的实例(对象)后才能调用,如`Test.new.test`。 3. **命名空间与作用域**:Ruby支持局部和全局作用域,使用`Test`作为类名时,其内部的方法`test`和`test1`在类外部是不可见的。此外,Ruby使用`#`符号来表示当前作用域,`@@`表示类变量,`@`表示实例变量。 4. **运算符重载与比较**:`<=>`运算符在Ruby中用于比较对象,返回值可以是整数,表示相等、小于或大于的关系。例如,`3 <=> 4` 返回 -1,表示3小于4。 5. **模块和常量**:Ruby支持模块(Module),模块中的方法可以被其他类继承。常量定义通常使用`::`,如`UNDEFINED_CONSTANT_XGG`。 6. **定义和未定义方法**:Ruby允许动态地定义和删除方法。`def`用于定义方法,而`undef_method`则用于删除方法。如`obj1.test`在`Test`类中未定义`test2`时会抛出异常。 7. **继承与多态**:Ruby支持继承,通过`class Student < Person`实现子类继承自父类Person。子类可以通过覆盖父类方法实现多态。 8. **元编程和闭包**:`class << obj`创建一个元编程的闭包,使得可以在类级别操作对象的方法,或者在类中添加新的类方法。 9. **迭代器和块**:Ruby的`times`和`each`方法提供了迭代器,可以遍历数组或执行指定次数的操作。`yield`关键字用于在块中传递控制权,如`callBlock`示例。 10. **格式化字符串**:Ruby的`format`方法用于格式化字符串,`%0.2f`是一个格式指示符,表示保留两位小数。`sprintf`函数则提供了格式化字符串的另一种方式。 这些笔记概述了Ruby的基本语法特性、类和对象的使用、运算符的重载、模块和常量、动态方法定义、继承与多态、元编程以及字符串格式化等内容,为初学者提供了学习Ruby的入门指南。