`
lihao312
  • 浏览: 483484 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ruby定义属性内建方法

阅读更多
在Ruby中,定义属性的标识符有4个,分别是attr, attr_reader, attr_writer, attr_accessor,这些不是Ruby的关键字,而是一些内建的方法,使用语法如下:
attr :a, b
attr_reader :a, :b
attr_writer :a, :b
attr_accessor :a, :b


这里的:a是类中实例变量的名称,不过这里要把实例变量的前缀@换成冒号“:”,相当于符号变量,所以说这几个标识符是方法而不是关键字,因为他们使用符号变量作为了函数参数。

具体说明:
attr  :根据布尔值数据b的值,定义一个可读写的属性,如果b为false,则设置访问权限为只读。
attr_reader: 定义一个或多个只读的属性
attr_writer: 定义一个或多个只写的属性
attr_accessor: 定义一个或多个读写的属性
分享到:
评论

相关推荐

    ruby api html

    Ruby 提供了一套丰富的内建类和模块,如 `String`、`Array`、`Hash` 等,开发者可以基于这些构建自己的应用。 在 Ruby API 文档中,你可能会看到以下关键概念: 1. 类(Class):表示对象的类型,如 `String`、`...

    Beginning Ruby

    - Ruby拥有一系列内建的标准库,为编程提供了丰富的功能,如字符串操作、日期时间处理等。 - 标准库RubyGems提供了包管理和安装第三方库的功能。 5. Ruby on Rails框架: - Rails是基于Ruby的一个流行的开源Web...

    Ruby语言中文教程.rar

    Ruby还提供了丰富的内建模块,如`Math`模块包含数学函数,`File`模块处理文件操作,`Kernel`模块包含全局函数。 Ruby的Gem库是其强大之处,它是一个庞大的第三方库生态系统,例如`ActiveRecord`用于数据库操作,`...

    Ruby语言中文教程

    Ruby还有内置的`Kernel`模块,包含了大部分内建的全局函数。 9. **Gem和依赖管理** Ruby的生态系统中,Gem是打包和分发代码的标准方式。`gem install`命令可以安装第三方库,`Gemfile`则用于声明项目依赖。 10. *...

    Ruby.Pocket.Reference.2nd.Edition.2015.8.pdf

    - **Kernel模块**:介绍了一些常用的内建方法,如`puts`、`p`等。 - **String类**:列举并解释了字符串类中的各种方法,如`length`、`include?`等。 - **Array类**:提供数组类的常用方法列表,包括`push`、`pop`、`...

    RUBY中文教程

    Ruby提供了一系列的内建方法进行文件和输入/输出操作,如`File`类和`IO`类,便于读写文件和处理标准输入输出。 10. **测试驱动开发(TDD)** Ruby鼓励TDD,有诸如RSpec这样的强大的测试框架,帮助开发者编写可测试...

    RUBY基础入门指南

    可以重新定义内建的运算符,使其符合特定类的需求。 ```ruby class Point attr_accessor :x, :y def initialize(x, y) @x = x @y = y end def +(other) Point.new(@x + other.x, @y + other.y) end end...

    ruby-language-quickref.zip_About Language

    9. **内建集合**:Ruby提供了数组(Array)、哈希(Hash)、集合(Set)等丰富的数据结构。 10. **闭包**:Ruby的Proc和Lambda实现了闭包,可以捕获定义时的环境变量。 Ruby on Rails(Rails)则是在Ruby基础上...

    Launch_School_Intro_to_Programming_with_Ruby

    函数式编程也是Ruby的一大特色,其内建的Enumerable模块提供了大量高阶函数,如map、reduce、select等,使代码更简洁、易读。此外,Ruby的闭包(Closure)和块(Block)为函数式编程提供了便利。 在实际开发中,...

    基于Rails2.2.2的自建的CRUD项目视频

    在本项目中,`Blog`模型会与数据库中的`blogs`表关联,定义其属性(如`title`和`content`)并包含验证规则,确保数据的完整性。 2. **控制器(Controller)**:控制器处理HTTP请求,并调用模型和视图来响应。在CRUD...

    简单介绍Ruby on Rails对PostgreSQL数组类型的支持

    为数组类型的字段设置默认值时,应使用PostgreSQL的内建语法。如想将默认值设为空数组,可以使用`:default => '{}'`。例如: ```ruby create_table :table_with_arrays do |t| t.integer :int_array, :array => ...

    W10D4

    Proc和Lambda是Ruby中两种内建的块对象,它们在处理代码块时有各自的特点。 面向对象编程(OOP)是Ruby的核心特性。Ruby中的每一个对象都是类的实例,每个类都继承自Object类。我们可以自定义类,使用`class`...

    The boo programming language

    10. **单元测试**:Boo内建了对单元测试的支持,可以方便地编写和运行测试代码。 通过阅读《BooManifesto.pdf》文档,你可以深入了解Boo的更多细节,包括它的标准库、模块系统以及如何在实际项目中应用Boo。这个...

    mindcloud92.github.io

    1. **面向对象**:Ruby 是一种纯面向对象的语言,每一个数据都是一个对象,具有方法和属性。 2. **动态类型**:变量在运行时确定其类型,无需提前声明。 3. **Ruby on Rails**:Ruby 最著名的框架,用于快速开发 Web...

    RPGXP游戏制作工具

    2. **图形资源**:内建了丰富的图像素材,包括角色、背景、动画和图标等,用户也可以导入自定义资源以满足个性化需求。 3. **音乐库**:内置了一些基本的背景音乐和音效,用户可选择使用或添加自己的音频文件。 4. *...

    呼出对话框

    实现这些功能需要对RGSS的语法有深入理解,例如,你可以定义新的类(如`DialogBox`),覆盖或扩展原有的`Window_Message`类,增加自定义方法来处理各种逻辑。此外,还需要熟练使用RMXP的事件命令,将脚本与游戏流程...

Global site tag (gtag.js) - Google Analytics