HeadFIrst Ruby 第二章总结 methods and classes
HeadFIrst Ruby 第二章总结 methods and classes
前言
这一章讲了如何创建自己的 class,并且讲了在用 class 创建 object 的两个要素: instance variables 和 instance methods.和它们需要注意的一些问题.
创建 method 相关
问题1:括号 be or not be?
在 Ruby 中,如果需要创建的 method 包含参数,那么后面应该有“()” ;
如果不需要任何参数,则不需要加“()”,在调用函数的时候也不需要加.
问题2: local variable 和 instance variable 的区别
local variable:在定义的 method 范围之后,就 don't exisit 了
instance variable: 在定义的 class 的范围内都 exisit.
新知1:在 Terminal 中运行程序的另一种方法
特点:可以 load 这个 file 之后,然后进行交互的编程.
步骤:
- 在 Terminal 中输入 “irb -I ."
- 接着在提示下输入 "require xxx.rb"
新知2: atttribute accessor methods
定义:为了实现 encapsulation,如果想要给创建的 instance 传递参数的话,就需要通过 accessor methods 进行传递,它分为两类: attribute writer 和 attribute reader
attribute writer
定义:用于set an instance variable
惯例: attribute writer 的名字与 instance variable 的名字相同,结尾为 "=".
格式:
def my_attribute=(new_value)
@my_attribute = new_value
end
attribute writer
定义:用于 get the value of an variable back
格式:
def my_attribute
@my_attribute
end
attribute accessor
可以用
- attr_writer :name
- attr_reader :name
- attr_accessor :name
代替 def 格式的代码,它们是 equivalent 的
转载于:https://www.cnblogs.com/FBsharl/p/10463251.html
HeadFIrst Ruby 第二章总结 methods and classes相关推荐
- 数学知识--Methods for Non-Linear Least Squares Problems(第二章)
Methods for Non-Linear Least Squares Problems 非线性最小二乘问题的方法 2nd Edition, April 2004 K. Madsen, H.B. N ...
- 3-8《Ruby元编程》第二章对象模型
<Ruby元编程> 第二章 对象模型 类定义揭秘inside class definitions: class关键字更像一个作用域操作符,核心作用是可以在里面随时定义方法. [].meth ...
- Ruby学习-第二章
第二章 类继承,属性,类变量 1.如何声明一个子类 class Treasure < Thing 这样Thing类中的属性name,description都被Treasure继承 2.以下三种方 ...
- Effective C# 第二章:.Net资源管理(翻译)
Chapter 2. .NET Resource Management 第二章:.Net资源管理 一个简单的事实:.Net应用程序是在一个托管的环境里运行的,这个环境和不同的设计器有很大的冲突,这就才 ...
- C++ API 设计 07 第二章
第二章 品质 本章的目标是回答下面的问题:一个良好的API需要什么样的品质?大多数开发人员都同意,一个良好的API应该设计得很优雅,而且仍然非常容易使用.它应该在后台运行且使用起来让你觉得很惬意.这些 ...
- 图机器学习(Graph Machine Learning)- 第二章 图机器学习简介 Graph Machine Learning
第二章 图机器学习简介 Graph Machine Learning 文章目录 第二章 图机器学习简介 Graph Machine Learning 前言 1. 环境要求Technical requi ...
- [转载]Programming MS Office 2000 Web Components第二章第三节
第二章第三节 编程模型要点 现在总结一下我们对电子表格组件的介绍,我将讲述(电子表格)控件编程模型的各个要点,以便您了解如何运用这个控件,以及当您需要编写脚本来实现不同的功能时该如何去做.本节不是编程 ...
- Gradle2.0用户指南翻译——第二章. 概述
翻译项目请关注Github上的地址: https://github.com/msdx/gradledoc 本文翻译所在分支: https://github.com/msdx/gradledoc/tre ...
- 第二章 Flask——Flask中的request
第二章 Flask--Flask中的request 一.request.method 二.request.form 三.request.args 四.request.values 五.request. ...
- webrtc 入门第二章 音视频录制
webrtc 入门第二章 音视频录制 一.介绍 1.媒体录制原理 在很多场景中回放音视频资源的需求是非常重要的例如会议,直播授课等.任何媒体形式的表情都可进行录制,如 ,,等.其中内容更加自由用户 ...
最新文章
- 2022-2028年中国ITO薄膜行业市场全景调查及投资前景趋势报告
- 0x12.基本数据结构 — 队列与单调队列
- oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT
- 构建闭环式的研发运维体系----云效EDAS DevOps
- 如何使用 SAP Kyma 控制台手动发送 SAP Commerce Cloud Mock 应用暴露的事件
- DBGridEh使用指南
- [No0000E0]批量打开当前路径下的文件
- 1.分布式服务架构:原理、设计与实战 --- 分布式微服务架构设计原理
- 黑莓断网 思考 apn激活pdp整个过程
- 内网穿透,外网装逼:10分钟学会用花生壳实现从外网访问内网的web项目
- python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆
- 数据结构:顺序表的就地逆置
- 计算机程序设计员英语单词,计算机程序设计员个人英文简历
- Mybatis的bind标签
- 如何理解一台服务器可以绑定多个ip,一个ip可以绑定多个域名
- 数学建模——多元统计分析例题及程序
- 为什么要关心分布式事务
- 转载:深度工作:充分使用每一份脑力
- Method threw ‘io.netty.util.IllegalReferenceCountException‘ exception.
- spring boot火车订票系统 毕业设计源码031012