- 浏览: 248283 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (293)
- web (1)
- [随笔分类]项目管理 (30)
- [随笔分类]WCF (14)
- 未分类 (1)
- [随笔分类]Linq (4)
- [随笔分类]C#基础 (24)
- 项目 (1)
- [网站分类]3.非技术区(技术之外的文章,但不要涉及任何政治内容) (8)
- [网站分类]1.首页原创精华.NET区(包含架构设计、设计模式)(对首页文章的要求:原创、高质量、经过认真思考并精心写作) (9)
- [随笔分类]Ubuntu (4)
- ASP.Net (1)
- [网站分类]2..NET新手区(用于发表不合适发表在首页的.NET技术文章,包括小经验、小技巧) (30)
- [随笔分类]ASP.NET MVC (20)
- [随笔分类]ASP.NET (3)
- [随笔分类]程序员厨房 (4)
- [随笔分类]英语学习 (28)
- [网站分类]4.其他技术区 (1)
- [随笔分类]Silverlight (12)
- [随笔分类]CodeSmith (8)
- [随笔分类]其他 (4)
- [随笔分类]Ruby (4)
- [发布至博客园首页] (34)
- [网站分类]其他技术区 (3)
- [随笔分类]Ruby on Rails (2)
- [网站分类].NET新手区 (33)
- [随笔分类]TDD (1)
- [随笔分类]不谈技术 (2)
- [网站分类]非技术区 (7)
最新评论
-
yicone:
You make a mistake when paste t ...
WCF步步为营(一):简单示例 -
jinweijie:
你好,这个实现不错,但是在用了scriptmanager以后就 ...
在服务器端保存ViewState
一、类的定义、类的实例方法
二、特定对象的方法
在Ruby里,我们可以为一个对象单独定义方法
三、重定义方法
从下面代码可以看出,后面的定义会覆盖前面的定义
四、重新打开类
Ruby里我们可以再打开一个类,向这类添加方法,有点像C#里的分部类,但不用加特别标记.
我们一般不要拆开类的定义,因为那样不好理解,拆开类的一个原因是将它们分散到多个文件里。
五、实例变量
这个前面有说过,这里补充一下
实例变量主要是用来记录单个对象的状态。Ruby的实例变量有以下特点
- 以@开头
- 只对单个对象可见
- 不管在类的任何地方定义,在别的地方使用都是同一个
六、初始化对象状态
类似其它语言的构造函数
七、更好的属性读写,=号的威力
上面我们可以看到可以用多种方法对属性都写操作,但最熟悉和方便的,还是向其它语言一样,对属性直接赋值,然后读取
语法糖
语法糖就是指特别的规则,不符合常规的写法,Ruby提供了调用写方法的语法糖,当解释器看到age = 时,会忽略等号前面的空格,并且单参数的方法是可以省略括号,所以也可以这样
因为有了=的威力,我们可以在赋值时做自己的处理,有点像.net里的{get;set;}
八、自动生成属性的读写操作attr_*
如果每个简单的属性都像上面那样定义,是一件很繁琐的事情,还好Ruby提供了自动生成读写操作的方法,看下表
方法名 | 效果 | 例子 | 等价的代码 |
attr_reader | 读方法 | attr_reader :age | def age @age end |
attr_writer | 写方法 | attr_writer :price | def age= (age) @age=age end |
attr_accessor | 产生读写方法 | att_accessor :age | def age @age end def age= (age) @age=age end |
attr | 产生读方法和可选的写方法(如果第二个参数是true) | 1. attr :age 2. attr :age, true |
1. 参见attr_reader 2. 参见attr_accessor |
九、类方法
类是特殊的对象,是唯一可以创建新对象的一类对象
定义是,在方法前加上类名
类方法有两种调用方式:
- Person.oldest()
- Person::oldest()
十、继承
Ruby里用 < 实现继承
本文作者: 王德水
未经同意,禁止转载
发表评论
-
ASP.NET MVC源码现在可以下载了(翻译)
2008-03-22 09:44 906上个月我在blog里介绍了ASP.NET MVC Roadm ... -
ASP.NET MVC+LINQ开发一个图书销售站点
2008-03-29 17:12 1301园子里已经有很多人讲解了其理论知识,网上也有不少示例,但是很多 ... -
Linq to SQL Dynamic 动态查询
2008-04-01 15:09 1021在开发中我们常需要使用动态的条件来组合查询,scotte博客里 ... -
使用ASP.NET 3.5 Extensions管理浏览器历史:使用服务器端
2008-04-08 13:15 596我们知道当我们使用ASP.NET AJAX的一些方便的服务端控 ... -
客户比产品更重要
2008-04-12 15:49 610发现博客园里99%都是技术文章,很少有管理的经验分享 ... -
WPF 全球化和本地化(图解)
2008-04-12 16:15 803当您将自己的产品限制为只能通过一种语言使用时,您便将潜在的客户 ... -
项目经理如何参与任务管理
2008-04-14 17:55 652每个项目经理可能都会 ... -
.NET环境下每日集成
2008-04-24 17:36 1359本系列主要介绍了.Net环境下如何使用CruiseContro ... -
项目经理虚拟管理客户
2008-05-28 11:26 534项目经理做项目时经常 ... -
从中国男足看项目管理
2008-06-16 11:39 406国足1:2 不敌伊拉克后,彻底无缘本届世界杯,我想比赛时和赛后 ... -
敏捷的 "道"
2008-11-19 14:10 485本文摘要 敏捷的路上 ... -
在服务器端保存ViewState
2008-11-20 16:51 5511.比较 Asp.net 的一个强大的功能就是ViewStat ... -
TDD实验2:使用VSTS 的单元测试功能
2008-12-10 08:25 775我们要实现的功能是,发工资时自动向我们发送邮件,如果工资少于1 ... -
TDD Tip:方法内部New出来的对象如何Mock
2008-12-16 00:27 1163解决的问题:方法内部new的对象在测试时希望能够用mock对象 ... -
Web测试:Selenium使用
2008-12-23 10:49 1593<style> .confluenceTable ... -
谈软件协作:君子和而不同,小人同而不和
2008-12-31 18:39 677我们知道现在的软件开 ... -
如何进行ASP.NET MVC 的测试
2009-01-05 00:48 1313本文参考了http://stephenwalther.com/ ... -
如何使ASP.NET MVC Controller易测试呢?
2009-01-05 23:25 949昨天那篇文章如何进行ASP.NET MVC 的测试,虽然通过自 ... -
ASP.NET MVC AJAX的调用
2009-01-10 08:21 3732在ASP.NET MVC beta中我们可以使用Ajax.Be ... -
IIS7 配置ASP.NET 2.0, WCF, ASP.NET MVC
2009-01-16 17:50 4586ASP.NET 2.0 部署 1.首先打开win7 的特性,路 ...
相关推荐
一步一步学RUBY,目前很流行,很多测试人员都要学习
Ruby中的链表奥丁项目-链接列表目录信息在该项目中,使用Ruby实现了链表。 运行该程序所需的所有文件都在此存储库中,其中包含“说明”部分中的说明。 该程序是使用Ruby v2.6.3p62构建的。状态至此,项目完成。指示...
Ruby下一步 Ruby其次是transpiler和polyfills的在旧版本和替代实现支持最新的和即将推出的Ruby功能(API和语法)的集合。 例如,您可以在Ruby 2.5或使用模式匹配和Kernel#then 。 谁可能对Ruby Next感兴趣? 想要...
Pry Byebug - 实现在Pry中一步一步调试和堆栈导航
博客“ruby+selenium-webdriver一步一步进行自动化测试------面向对象编程”对应源代码
rails-learning, 学习 Rails & ruby的最佳方法 Ruby on Rails从头开始学习东西几乎总是一个艰苦的事情,你根本不知道从哪里开始,或者不从开始开始,把东西踢到什么地方。... 都在这,跟着它,一步一步来。 tab
rubyonrails中文版,一步一步教你搭建ruby rails的应用,不可多得.
这一步必须在您与 Todoist API 进行任何交互之前执行 [ 13 ] pry ( main ) > Todoist :: Configuration . token = 'e6705ab0SECRETTOKENcfbcc1b' => "e6705ab0SECRETTOKENcfbcc1b" 列出您的项目 [ 14 ] pry ( main...
有一个工程开发的详细流程,教你一步一步掌握ruby开发,特别适合初学者(里面包含源代码)
在 Windows 平台下一步安装 Ruby-1.9.3
1.默认路径安装ruby186-26.exe 2.本地安装watir-1.4.1.gem,执行gem install watir-1.4.1.gem -l 3.本地安装rubygems-update-1.3.4.gem,执行 gem install rubygems-update-1.3.4.gem 4.更新rubygems,执行update_...
所以需要使用 –skip-bundle 参数跳过执行 bundle 这一步。然后使用国内的 Gems 镜像源来完成后面依赖包的安装。国内推荐的源是 Ruby China 提供的: https://gems.ruby-china.org/。 最后整理步骤如下: 创建项目: ...
Ruby 和 Python 这样的“脚本”语言非常适合这一点,因为您可以在编写代码后立即运行代码。 相反,像 C 这样的低级语言必须在运行之前进行编译。 反馈回路 决定下一步做什么 想一个办法 写一些代码 编译/运行代码 ...
2.进入rails目录使用gem命令安装(这一步必须要上一步已经安装成功)。如果安装不成功使用ruby,如下: ruby -S gem install rails-2.2.2.gem 3.复制libmySQL.dll到ruby的安装目录的bin文件夹下,然后使用gem安装...
咖啡壶这是使用作为语言编译的的简单实现特征Coffeepot 建立在 Ruby on rails 之上; 事实上,我用 gibber.audio.lib 做了另一个,这是改变 wavepot.com 团队提出的想法的一步。 为了实时编译,我使用了 websocket-...
#DC 地铁应用###学习目标: 锻炼你的问题建模技巧(白板优先!!!) 练习使用集合继续练习你的 git 命令(ABC = "Always Be ... 写出---一步一步,用简单的英语---你会如何找到红线上的伍德利公园站和绿松石
Random 类的使用:游戏开始时,使用 Random 类生成一个1到100之间的随机数作为要猜的数字。 循环结构:游戏使用 while 循环,直到玩家猜对为止。玩家每次猜测后,根据猜测的数字与目标数字的大小关系,给出相应的...
这是用 Ruby 编程语言编写的 Conway's Game of Life 的简单实现。 概要 请注意,这里的大部分工作都基于存储库。 您可以在找到有关生命游戏的更多信息。 用于生成图形输出,最终结果如下所示: 游戏规则: 游戏...
支持将所有记录标记为已读,以一步将所有记录标记为已读 为您提供了获取给定阅读器未读记录的范围 只需要一个额外的数据库表 最重要的是:出色的表现 要求 Ruby 2.5或更高版本 Rails 4.0或更高版本(包括Rails 6) ...
模因库 一个Ruby on Rails应用程序,用于上传模因,存储您的收藏集,通过主题标签搜索其他模因,并且可以根据需要将模因设为私有。... 转到下一步。 在游戏目录中,安装所有必需的gem运行bundle 要运行迁移: bundle