翔如菲菲

其实天很蓝,阴云总会散;其实海不宽,此岸连彼岸.

导航

2012年1月31日 #

Ruby开发环境

摘要: 假设您已经安装了Eclipse,那么只需按照如下步骤即可:Please copy the following Update Site URL to your clipboard and then follow the steps listed below to add this URL to yourAvailable Software Siteslist. Attempting to access this URL using your web browser will return an Access Denied error.http://download.aptana.com/stud 阅读全文

posted @ 2012-01-31 22:28 翔如飞飞 阅读(214) 评论(0) 推荐(0)

Ruby笔记五(简单的字符串操作)

摘要: #E8.1-2.rb字符串操作#双引号括起来的字符串会有转义,例如:“\n”表示换行。还有一些其它的转义符号,比如制表符之类。str="thisisyoustring.\n"putsstr*2=beginresult:thisisyoustring.thisisyoustring.=end#单引号括起来的字符串并不会对字符串作任何解释str2='thisisyoustring.\n'putsstr2*2#thisisyoustring.\nthisisyoustring.\n=begin字符串内嵌表达式在双引号扩起来的字符串中,不仅可以使用各种转义符,而且可 阅读全文

posted @ 2012-01-31 16:05 翔如飞飞 阅读(297) 评论(0) 推荐(0)

Ruby笔记四(数组)

摘要: #E8.1-1.rb=begin数组的索引从0开始,一直到数组的长度减去1;负数表示从数组末尾开始的索引;用一对数字来索引数组,第一个数字表示开始位置,第二数字表示从开始位置起的元素数目=endarr=[3,4,5,6,7,8,9]putsarr[0]#3putsarr.first#3putsarr[arr.length-1]#9putsarr[arr.size-1]#9putsarr.last#9putsarr[-1]#9putsarr[-2]#8printarr[1..3].join(","),"\n"#4,5,6printarr[-3,2],&qu 阅读全文

posted @ 2012-01-31 14:59 翔如飞飞 阅读(3441) 评论(0) 推荐(0)

Ruby笔记二(求素数)

摘要: #E3.12-1.rb求50以内的素数$arr=[]#建立一个全局数组$arr$arr[0]=2defadd_prime(n)#定义方法将n以内的奇素数加入$arr3.step(n,2){|num|$arr<<numifis_prime?num}enddefis_prime?(number)#定义方法判断一个数是否是素数j=0#数组下标while$arr[j]*$arr[j]<=numberreturnfalseifnumber%$arr[j]==0j+=1endreturntrueendadd_prime(50)print$arr.join(","),& 阅读全文

posted @ 2012-01-31 14:36 翔如飞飞 阅读(290) 评论(0) 推荐(0)

Ruby笔记一(运算符)

摘要: =beginRuby使用一个约定来区别一个名字的用法:名字前面的第一个字符表明这个名字的用法。局部变量、方法参数和方法名称应该用一个小写字母开头或者用一个下划线开头;全局变量用美元符作为前缀$;实例变量用@开头;类变量用@@开头;与全局变量和实例变量不同,类变量在使用前必须要初始化;全局变量和实例变量如果没有初始化,其值为nil类名、模块名和常量应该用大写字母开头=end=beginRuby的条件运算符比Java更加复杂==:比较两个对象的值是否相等,返回true,falseeql?:比较两个对象的值、类型是否相等,返回true,falseequal?:比较两个对象在内存中地址是否相同,返回t 阅读全文

posted @ 2012-01-31 14:34 翔如飞飞 阅读(401) 评论(0) 推荐(0)

Ruby笔记三(类、对象、属性)

摘要: classPerson#initialize是初始化方法,相当于Java的构造器。参数age有一个缺省值18,#可以在任何方法内使用缺省参数,而不仅仅是initialize。如果有缺省参数,参数表必须以有缺省值的参数结束definitialize(name,age=18)@name=name@age=age@motherland="China"end#初始化方法结束deftalkputs"mynameis"+@name+",ageis"+@age.to_s#@age.to_s:将数@age转换为字符串。if@motherland==& 阅读全文

posted @ 2012-01-31 14:32 翔如飞飞 阅读(508) 评论(1) 推荐(0)

Ruby缺省参数、可变参数

摘要: #Ruby语言中,定义方法时,不指定参数类型 ,而且Ruby又有缺省参数和可变参数,故Ruby语言,没有方法的重载 #缺省参数defsum(a,b=5)a+bendputs"defaultparameter:"putssum(3,6)#9putssum(3)#8#可变参数defsum(*num)result=0num.each{|item|result+=item}returnresultendputs"variableparameter"putssum()#0putssum(9)#9putssum(1,2,3,4,5,6)#21 阅读全文

posted @ 2012-01-31 14:27 翔如飞飞 阅读(2673) 评论(0) 推荐(0)

Ruby的super关键字:增强父类方法

摘要: #增强父类方法:super关键字classPersondeftalk(name)print"mynameis#{name}"endendclassStudent<Persondeftalk(name)superprint"andiamastudent."endendputs"Personclass:"p=Person.newp.talk("Jeriffe")#mynameisJeriffeputs"\nStudentclass:"s=Student.news.talk("Summ 阅读全文

posted @ 2012-01-31 14:25 翔如飞飞 阅读(362) 评论(0) 推荐(0)

Ruby类变量和类方法

摘要: #类变量和类方法;类变量,类方法在 Java/C# 里与之相对应的是 static变量,static方法classStudent@@count=0definitialize@@count+=1end#定义类方法要在方法名前加上类名和一个点号“.”defStudent.student_countputs"Thisclasshave#@@countstudents."endendp1=Student.newp2=Student.newStudent.student_count#Thisclasshave2students.p3=Student.newp4=Student.new 阅读全文

posted @ 2012-01-31 14:22 翔如飞飞 阅读(326) 评论(0) 推荐(0)

Ruby单例方法和实例方法

摘要: #单例方法:对象的实例方法,其只属于具体类实例对象#实例方法,属于类的每个实例对象。单例方法只出现在单个实例对象中classPersondeftalkputs"ThisisaPersonclass."endendp1=Person.newp2=Person.new#定义单例方法,首先要生成一个实例对象,其次,要在方法名前加上对象名和一个点号“.”defp2.talkputs"Thistalkmethodbelongstop2."enddefp2.laughputs"laughmethodbelongstop2."endp1.talk# 阅读全文

posted @ 2012-01-31 14:20 翔如飞飞 阅读(326) 评论(0) 推荐(0)

Ruby的访问控制public、protected、private

摘要: #Ruby的访问控制 public方法,可以被定义它的类和其子类访问,可以被类和子类的实例对象调用 protected方法,可以被定义它的类和其子类访问,不能被类和子类的实例对象直接调用,但是可以在类和子类中指定给实例对象 private方法,可以被定义它的类和其子类访问,私有方法不能指定对象。 classPersondefspeakputs"protected:speak."enddeflaughputs"private:laugh."endprotected:speakprivate:laughdefuseSpeak(another)another. 阅读全文

posted @ 2012-01-31 14:17 翔如飞飞 阅读(549) 评论(0) 推荐(0)

Ruby的module(模块)

摘要: 定义模块用module...end 。模块与类非常相似,但是: 模块不可以有实例对象; 模块不可以有子类。#Module(模块)moduleModule1defsqrt(num,rx=1,e=1e-10)num*=1.0(num-rx*rx).abs<e?rx:sqrt(num,(num/rx+rx)/2,e)endendputs"Moduledemo:"includeModule1putssqrt(456,7,0.01)#21.3541565188558#Module(模块)方法;模块方法提供了一个途径,在模块的外部访问模块内部方法,无须 include 模块。定义 阅读全文

posted @ 2012-01-31 14:12 翔如飞飞 阅读(347) 评论(0) 推荐(0)

Ruby的require

摘要: require一般用来加载其它的类,如:#Ruby代码:require'dbi'require"rexml/document"但是上面加载的是标准类库里面的文件,当然也可以是已安装的gems文件,但是如果是自己在本地写的文件,就不能直接用require了,而应该这样:#E7.4-1.rbModule(模块)moduleModule1defsqrt(num,rx=1,e=1e-10)num*=1.0(num-rx*rx).abs<e?rx:sqrt(num,(num/rx+rx)/2,e)endend#E7.4-2.rbPerson类classPerso 阅读全文

posted @ 2012-01-31 14:00 翔如飞飞 阅读(334) 评论(0) 推荐(0)