![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Ruby
lishushan
这个作者很懒,什么都没留下…
展开
-
铁心决定学习ruby
今天在csdn看了一个帖子问100的阶乘有多少个0? 可能楼主并不是真想问这样的问题,可是我试着用ruby来解决这个问题的时候发现没有比ruby更简单的办法了 result=1 2.upto(100){|i| result*=i} puts result.to_s.count('0') #结果是30 仅仅三行解决了这个问题,我想如果用熟了ruby可以提高多少效率,节省我们程序员...原创 2010-01-10 00:25:33 · 58 阅读 · 0 评论 -
ruby学习笔记(10)--模块
#定义模块,虽然模块看起来很象一个类,但是它永远不能有一个实例? #怎么听起来象纯虚类? module Black #属性 Name='blackant' #方法 def Black.Hello(str) 'hello '+str end end module SumModule def sum inject{|result,n| result+=...原创 2010-01-10 00:30:49 · 65 阅读 · 0 评论 -
ruby学习笔记(9)--异常处理
def evalMethod(str) result =eval(str).to_s #捕捉异常相当于catch rescue ZeroDivisionError result= '不能被0除' #更一般的异常 rescue Exception=>err result= err.to_s #相当于finally ensure return result en...原创 2010-01-10 00:30:18 · 67 阅读 · 0 评论 -
ruby学习笔记(8)--条件控制
#和其它OO语言有点不一样的是0会返回false [1,0,true,nil,false,''].each{|e| print '{',e,'}' if e}#{1}{0}{true}{} #difined? and or not #difined?是一个新引入概念 puts 'defined?' if defined? a #expression a未定义 puts defined?...原创 2010-01-10 00:29:45 · 64 阅读 · 0 评论 -
ruby学习笔记(7)-方法
#定义方法 def method puts 'method' end #调用时可以带或不带()均可 method #method method() #method #使用参数 def methodUseArgs(arg1,arg2) print arg1,arg2 end #调用时可以带或不带()均可 methodUseArgs('hello',"World\n")...原创 2010-01-10 00:29:12 · 60 阅读 · 0 评论 -
ruby学习笔记(6)--范围
#简单的应用 print (1..10).to_a,"\n" #12345678910 print (1...10).to_a,"\n"#123456789 digits=1..10 puts digits.include?(5) #true puts digits.min #1 puts digits.max #10 print digits.reject{|i| i<5},...原创 2010-01-10 00:28:44 · 87 阅读 · 0 评论 -
ruby学习笔记(5)-简单数据类型
#整型表达式 puts 255 #10进制 puts 0xff #16进制 puts 0d255 #10进制 puts 0377 #8进制 puts 0b11111111 #二进制 puts 2_55 #下划线忽略 #转换 puts ?a #ascii码转换 puts Integer('255') #字符串转换 #自迭代 3.times{print 'x'}#xxx 3....原创 2010-01-10 00:28:13 · 78 阅读 · 0 评论 -
ruby学习笔记(4)-Iterator
class TItem attr_reader :name def initialize(name) @name=name end def Fibonacci (max) #初始化 i1,i2=1,1 #循环构建斐波纳契数列 while i1<max #yield关键字,声明执行块中的内容 #在这儿是传入int=...原创 2010-01-10 00:27:43 · 68 阅读 · 0 评论 -
ruby学习笔记(3)--Container(Array/Hash)
#Array arr=[1,2,3,5,7,11,13] #声明数组 puts arr[2,3] #从第2个开始取3个 [3,5,7] puts arr[-2,3] #从倒数第2个取3个 [11,13] puts arr[2..3] #从第2个到第3个,且包含第三个[3,5] puts arr[2...3] #从第2个到第3个,且不包含第三个[3] puts arr[arr.leng...原创 2010-01-10 00:27:13 · 67 阅读 · 0 评论 -
ruby学习笔记(2)--访问控制
class Singleton #公开的 #默认不声明权限的对象都是公开的 #initialize除外,它总是私有的 public def PublicMethod puts 'this is a public method' end #私有的 private def PrivateMethod puts 'th...原创 2010-01-10 00:26:41 · 62 阅读 · 0 评论 -
ruby学习笔记(1)--类的属性与方法
class Song #属性 def name @name end #构造/方法 def initialize(name) @name=name end end #继承 class Song2 < Song #属性读写 attr_reader :artist attr_writer :artist #静态属性...原创 2010-01-10 00:26:09 · 76 阅读 · 0 评论 -
ruby学习笔记(11)--基本的输入输出
#比较让人郁闷的是gets在我的机器上都不能使用 #所以无法得到控制台输入,先从文件io开始了 file=File.open('io.rb') puts file.gets #file=File.open('io.rb') line=file.gets #line.each_byte{|ch| putc ch} #puts file.gets #file=File.open('io.rb...原创 2010-01-10 00:31:19 · 61 阅读 · 0 评论