04 2010 档案
摘要:Song对象有内部的状态(例如歌曲名称和演唱者),这些状态是对象所私有的,即其他对象无法访问一个对象的实例变量。通常会定义一些方法来访问及操作对象的状态,让外部世界得以与之交互。一个对象的外部可见部分被称为其属性(attribute).对Song对象来说,需要找出歌曲的名称和演唱者(这样可以在歌曲播放时显示它们),以及时长(这样可以显示某种进度条)。C++ : 支持多继承,一个类可以有多于一个的直接父类,并继承每者的功能。Java和C# : 支持单继承,一个类只能有一个直接的父类。Ruby:Ruby类只有一个直接的父类,因此Ruby是一门单继承语言。 Ruby类可以从任何数量的mixin(类似
阅读全文
摘要:继承: 允许创建一个类,作为另一个类的精炼(refinement)和特化(specialization).歌曲 VS 卡拉OK区别:一首卡拉OK歌曲和歌曲没有什么两样,只是没有主唱的音轨,包括对应的一套歌词以及时间信息。定义一个新的类:KaraokeSong“< Song” 表示KaraokeSong是Song的子类(subclass),Song是KaraokeSong的超类(superclass).既KaraokeSong的父类是Song.class KaraokeSong < Song def initialize(name, artist, duration, lyrics)
阅读全文
摘要:表示歌曲的Ruby类,歌曲(名字,演唱者,时长)在Ruby程序中,initialize是一个特殊的方法。当调用Song.new创建一个新的Song对象时,Ruby首先分配一些内存来保存未初始化的对象,然后调用对象的initialize方法,并把调用new时所使用的参数传入该方法。每个对象都表示自己对应的歌曲,因此需要每个Song对象带有自己的歌曲名,演唱者和时长,所以需要将这些值作为实例变量保存在对象中。对象内的所有方法都可以访问实例变量,每个对象都有实例变量的一份拷贝。class Song def initialize(name, artist, duration) #接收3个参数,参数以小
阅读全文
摘要:Ruby有一个完备的I/O库。用来输出的方法:puts:输出它的参数,并在每个参数后面添加回车换行符。print: 输出它的参数,但没有添加回车换行符。printf: 在一个格式化字符串的控制下,打印出它的参数。printf("Number:%5.2f,\nString:%s\n",1.23,"nikey")告诉printf替换一个浮点数(最多允许5个字符,并且2个在小数点后面)和一个字符串。用来读取输入的方法:gets函数:它从程序的标准输入流中读取下一行。line = getsputs line
阅读全文
摘要:Block: 一种可以和方法调用相关联的代码块,几乎就像参数一样。可以使用block实现回调,以及实现迭代器。block只是在花括号或者do…end之间的一组代码。{ puts “Hello”} #单行block用花括号do #多行block用do…end club.enroll(person) person.socializeendblock与方法的调用相关联:把block的开始放在含有方法调用的源码行的结尾处实现关联。greet { puts “Hi” } #greet是方法,{ puts “Hi” }是block若方法有参数,它们出现在block之前。verbose_greet(“Dav
阅读全文
摘要:正则表达式:一种指定字符模式的方法,这个字符模式会在字符串中进行匹配。Ruby中,通常指斜线之间(/pattern/)编写模式来创建正则表达式。Sample:/Perl|Python/ #匹配包含Perl或Python的字符串。"|"是管道符,要么左边,要么右边。/P(erl|ython)/ #类似算术表达式/ab+c/ #模式中指定重复,匹配一个含有a,后面跟着一个或多个b,其后是c的字符串。/ab*c/ #匹配含有a,零个或多个b,然后是c的字符串。模式中匹配一组或者多组字符:字符类:\s #匹配空白字符(空格符,制表符,回车换行符等等)\d #匹配任何数字\w #匹配
阅读全文
摘要:控制结构:注:Ruby是使用end关键字表明程序体的结束的。 如果 if 或 while语句的程序体只是一个表达式, Ruby的语句修饰符可以只写出表达式,后面跟着 if 或 while 和条件。Test Code:number = 2if number<5 puts "hello, world."endnumber = 2puts "hello, world." if number <5
阅读全文
摘要:Ruby命名规则:名称的第一个字符显示这个名称如何被使用1)局部变量,方法参数,方法名称:必须以小写字母或下划线开始。2)全局变量:都有$符号为前缀。3)实例变量:以@符号开始。4)类变量:以@@符号开始。5)类名称,模块名称,常量: 必须以一个大写字母开始。数组(arrays)和散列表(hashes)Ruby的数组和散列表是被索引的收集(indexed collection).相同:两者都存储对象的集合,通过键(key)来访问。都可以保存不同类型的对象。不同:数组的键是整数,散列表支持以任何对象作为它的键。数组数组:a=[1,’cat’,3.14]访问: a[0]设置:a[2] = nil显
阅读全文
摘要:Getting StartedLoad the Watir libraryrequire 'watir' Open a browser (default: Internet Explorer)browser = Watir::Browser.new Open Browser at the specified URLbrowser = Watir::Browser.start("http://google.com") Go to a specified URLbrowser.goto("http://amazon.com") Close t
阅读全文
摘要:px像素(Pixel), 相对长度单位,像素px是相对于显示器屏幕分辨率而言的。1. IE无法调整那些使用px作为单位的字体大小, 用px来定义字体,所以无法用浏览器字体放大的功能.2. 国外的大部分网站能够调整的原因在于其使用了em作为字体单位; 3. Firefox能够调整px和em,但是96%以上的中国网民使用IE浏览器(或内核)。 \这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷。我一直也搞不清楚px与em之间的关系和特点,看过以后后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大
阅读全文
摘要:网址:http://www.blueidea.com/tech/web/2009/7204.asp
阅读全文
浙公网安备 33010602011771号