随笔分类 -  Ruby

摘要:self上下文 Ruby的self有和Java的this相似之处,但又大不相同。Java的方法都是在实例方法中引用,所以this一般都是指向当前对象的。而Ruby的代码逐行执行,所以在不同的上下文(context)self就有了不同的含义,先来看看常见的context self都代表哪些# 这个位置位于top level context,代表Object的默认对象mainp self # => mainp self.class # => Object@self1 = self# 因为所有自定义类都位于main context之中,所以这是Object的实例方法# 同时也可以说是一个 阅读全文
posted @ 2012-02-22 18:23 贺满 阅读(3158) 评论(0) 推荐(0) 编辑
摘要:学习Ruby也有段时间了,在学习的同时也做了些笔记并发到了园子睐。看到园子里的大虾们在出了一系列文章后都会做个索引贴,这样很方便,所以本人今天抽了个空就把它整理了下,方便自己的同时也方便感兴趣的朋友。Ruby学习笔记目录: 1、Ruby入门 2、Ruby-循环与选择结构 3、Ruby-String 4、Ruby-Array 5、Ruby-Hash 6、Ruby-Block, Proc and Lambda 7、Ruby-正则表达式 8、Ruby-Symbol 9、Ruby-Method,Class 10、Ruby-Module 阅读全文
posted @ 2012-02-22 15:55 贺满 阅读(495) 评论(0) 推荐(0) 编辑
摘要:一、Ruby Introduction: Ruby is "an interpreted scripting language for quick and easy object-oriented programming"。 1. Interpreted scripting languageability to make operating system calls directlypowerful string operations and regular expressionsimmediate feedback during development 2. Quick 阅读全文
posted @ 2012-02-20 13:56 贺满 阅读(944) 评论(0) 推荐(0) 编辑
摘要:最近正在对公司内部进行Ruby+Cucumber的培训(主要是测试人员),我们的目标是让整个项目的人都掌握如何使用Ruby+Cucumber编写TestCase. 并没有很深入的去研究Ruby的知识,只是为满足写Case的要求。大概分为6课,课程结束后,相信大家都可以自己动起手来写case了。这里就 阅读全文
posted @ 2012-02-17 18:37 贺满 阅读(2326) 评论(48) 推荐(1) 编辑
摘要:Module: 模块的定义和类比较相似,使用module关键字。但模块不能被实例化,也不能被子类化,模块是独立的,且一个模块对像是Module类的一个实例。模块最常用的两个用途是作为命空间和混入(mixin)。在模块中,可以定义实例变量、实例方法、类变量、类方法和属性等,并且在模块中还可能以定义类和模块。在类中也可以定义模块。在访问模块中的实例成员,需要在类中饱含模块,然后实例化类以访问模块的实例成员。 module FirstModule def go puts "Go home" end def self.show #or FirstModule.show puts & 阅读全文
posted @ 2012-01-20 11:19 贺满 阅读(4748) 评论(0) 推荐(0) 编辑
摘要:Methoda) 定义: def 方法名 (参数) #在ruby中方法的参数可以不加括号 #do something end 注:方法名命名规则:以小写字母或者下划线开始,后边跟数字,字母和下划线,单词之间用下划隔开:def hello_worldputs “Hello world” end 方法名后边可以跟=, ?, ! “=”: 表示该对象的参数可选,若调用时,没有参数,则使用默认的 “?”: 表示该方法是查询功能的方法 “!”: 修改接收对象的方法b)方法参数: 1.设定方法参数默认值:在定义方法时,可以为一些或全部参数指定默认值。在参数后加下等号和一个值,就可以为... 阅读全文
posted @ 2012-01-20 11:05 贺满 阅读(4755) 评论(2) 推荐(0) 编辑
摘要:Symbol 是什么 Ruby 是一个强大的面向对象脚本语言(本文所用 Ruby 版本为1.8.6),在 Ruby 中 Symbol 表示“名字”,比如字符串的名字,标识符的名字。创建一个 Symbol 对象的方法是在名字或者字符串前面加上冒号:创建 symbol 对象:foo:test :”abc”:"I am a boy” 你可能会问,字符串就是字符串,干吗还有字符串的名字?这是因为在 Ruby 中字符串也是一种对象,即 String 对象。无论其结构还是操作和 Symbol 对象都是不同的。在 Ruby 中每一个对象都有唯一的对象标识符(Object Identifier),可 阅读全文
posted @ 2012-01-05 14:22 贺满 阅读(2008) 评论(0) 推荐(0) 编辑
摘要:1.创建正则表达式a)reg1 = /^[a-z]*$/#将模式的定义放在两个正斜杠之间,返回一个Regexp对象b) reg2 = Regexp.new(‘^[a-z]*$’) #创建一个Regexp对象c)reg3 = %r{^[a-z]*$} #使用前置的%r2.匹配正则式: String和Regexp都支持以下两个方法a)match方法: 匹配成功时返回MatchData类的一个实例;否则返回nil;b)=~ 操作符: 匹配成功,返回一个索引(integer);否则,返回nil;例: puts( /abc/ =~ 'abc' ) #=>return 0 puts( 阅读全文
posted @ 2011-11-29 17:55 贺满 阅读(14065) 评论(0) 推荐(0) 编辑
摘要:1.Block: Ruby中的块就是由多行代码组成的一个代码块,通常可以把它认为是一个匿名方法,常用来迭代一个数组或范围(如each, times方法);语法格式如下: { //code }OR do //code end 块变量:当创建一个块时,在两个竖线之间(如: | i |)被称作块变量,作用和一个正常方法的参数一样;如:5.each{| x | puts x }2.Block and ArrayBlock常用来迭代数组,上面也提到过,所以数组中也定义了很多方法接受块参数;常用的有: collect:该方法把数组的每一个元素传给块并返回一个新的包括所有元素的数组,... 阅读全文
posted @ 2011-11-02 11:29 贺满 阅读(3435) 评论(0) 推荐(0) 编辑
摘要:字符串(String)1.创建字符串 在Ruby中可以使用单引号和双引号两种方法来创建一个字符串。但是使用这两种方式创建特殊字符串时,效果有很大区别。 双引号创建字符串:Ruby会对字符串中的转义字符和特殊字符进行替换; 单引号创建字符串:不进行替换示例:puts 'This stirng \n delimited by single quotes' #\n:换行符puts "This stirng \n delimited by double quotes" s=”Ruby”puts 'Start to learn #{s}' puts & 阅读全文
posted @ 2011-10-21 17:30 贺满 阅读(6930) 评论(2) 推荐(0) 编辑
摘要:一、循环结构1.for…in语句:Ruby提供的for...in语句主要用于迭代数组和Hash对象中的元素,与其它语言的for语句有一定的差距,语法格式: for val in Array | Hash | Range [do] #code End----------------------------------------------------迭代数组: for i in ['one','two','three'] do puts i end迭代Hash对象: h = {1=>'aaa',2=>'bbb& 阅读全文
posted @ 2011-10-20 16:19 贺满 阅读(7179) 评论(1) 推荐(0) 编辑
摘要:l 哈希1.创建哈希:就像创建数组一样,我们可以通过Hash类来创建一个Hash实例:h1 = Hash.new #默认值为nilh2 = Hash.new(“This is my first hash instance”) #默认值为” This is my first hash instance”:上面两个例子都创建了一个空的Hash实例。一个Hash对象总是有一个默认的值——因为如果在一个Hash对象里没有找到指定的索引(key),将会返回默认值。创建了Hash对象后,我们就可以像数组那样给他添加/删除项了。唯一不同的是,在数组中的索引只是能整数,而在Hash中索引(key)可以是任何. 阅读全文
posted @ 2011-10-20 11:36 贺满 阅读(6383) 评论(0) 推荐(0) 编辑
摘要:由于工作需要,最近在学习Ruby,现在主要在看两本书《Ruby on Rail程序设计技术详解》和《Ruby of book》。毕竟是要在工作中运用,而且时间还有限,所以我在看书和做例子的同时也简单记录下了一些基本知识点,方便用的时候查找。有兴趣的朋友欢迎一起交流学习:l 数组1. 创建数组: 和其它很多编程语言一样,很容易创建一个数组,但要注意的是Ruby是一种弱类型的脚本语言,数组中各元素的类型可以互不相同,而且数组的长度可变:arr = [“one”,”two”,”three”]ORarr = Array.new #an empty arrayarr = Array.new(5... 阅读全文
posted @ 2011-10-20 11:24 贺满 阅读(2297) 评论(2) 推荐(1) 编辑