ruby
blackant2
开开心心每一天
展开
-
ruby学习笔记(1)--类的属性与方法
class Song #属性 def name @name end #构造/方法 def initialize(name) @name=name endend#继承class Song2 #属性读写 attr_reader :artist attr_writer :artist #静态属性 @@play=0 #静态属性读写 def Song2.playcoun原创 2006-11-28 17:57:00 · 1044 阅读 · 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)#file.ea原创 2006-12-04 14:27:00 · 1122 阅读 · 0 评论 -
ruby学习笔记(7)-方法
#定义方法def method puts methodend#调用时可以带或不带()均可method #methodmethod() #method#使用参数def methodUseArgs(arg1,arg2) print arg1,arg2end#调用时可以带或不带()均可methodUseArgs(hello,"World/n")#helloWorldmethodUseArgs原创 2006-12-03 10:42:00 · 788 阅读 · 0 评论 -
ruby学习笔记(6)--范围
#简单的应用print (1..10).to_a,"/n" #12345678910print (1...10).to_a,"/n"#123456789digits=1..10puts digits.include?(5) #trueputs digits.min #1puts digits.max #10print digits.reject{|i| i#让自己的类也支持范围class Sust原创 2006-12-01 17:35:00 · 917 阅读 · 0 评论 -
ruby学习笔记(10)--模块
#定义模块,虽然模块看起来很象一个类,但是它永远不能有一个实例?#怎么听起来象纯虚类?module Black #属性 Name=blackant #方法 def Black.Hello(str) hello +str endendmodule SumModule def sum inject{|result,n| result+=n} endendmodule Instane原创 2006-12-04 12:56:00 · 821 阅读 · 0 评论 -
ruby学习笔记(9)--异常处理
def evalMethod(str) result =eval(str).to_s#捕捉异常相当于catchrescue ZeroDivisionError result= 不能被0除#更一般的异常rescue Exception=>err result= err.to_s#相当于finallyensure return resultendputs evalMethod("1*2*3")原创 2006-12-04 09:15:00 · 1018 阅读 · 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? Fixnum #c原创 2006-12-04 09:11:00 · 938 阅读 · 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}#xxx3.upto(4){|i| puts i}#343.原创 2006-12-01 12:42:00 · 1121 阅读 · 0 评论 -
ruby学习笔记(4)-Iterator
class TItem attr_reader :name def initialize(name) @name=name end def Fibonacci (max) #初始化 i1,i2=1,1 #循环构建斐波纳契数列 while i1 #yield关键字,声明执行块中的内容 #在这儿是传入int=i1并且打印 yield i1 #这样的赋值方原创 2006-11-30 18:22:00 · 795 阅读 · 0 评论 -
ruby学习笔记(3)--Container(Array/Hash)
#Arrayarr=[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.length]#超出索引为nil原创 2006-11-30 12:32:00 · 884 阅读 · 0 评论 -
ruby学习笔记(2)--访问控制
class Singleton #公开的 #默认不声明权限的对象都是公开的 #initialize除外,它总是私有的 public def PublicMethod puts this is a public method end #私有的 private def PrivateMethod puts this is a private method原创 2006-11-30 11:13:00 · 757 阅读 · 0 评论 -
铁心决定学习ruby
今天在csdn看了一个帖子问100的阶乘有多少个0?可能楼主并不是真想问这样的问题,可是我试着用ruby来解决这个问题的时候发现没有比ruby更简单的办法了result=12.upto(100){|i| result*=i}puts result.to_s.count(0)#结果是30仅仅三行解决了这个问题,我想如果用熟了ruby可以提高多少效率,节省我们程序员多少时间呀原创 2006-11-28 16:17:00 · 895 阅读 · 2 评论 -
坑货libmcrypt
坑货libmcrypt 使用MCRYPT_RIJNDAEL_128 256位的key时进行的是aes-256位加解密原创 2016-08-26 19:14:46 · 1804 阅读 · 0 评论