`
rainy646556896
  • 浏览: 20070 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

别人总结的---收藏了以备查用

    博客分类:
  • ruby
 
阅读更多
001 #coding:utf-8
002 #熟悉ruby基本数据类型
003  
004  
005 class Ruby01
006   puts "基本数字类型"
007   puts 1
008   puts 1.0
009   puts 1.class #输出Fixnum
010   puts 1.0.class #输出Float
011   puts 1.0.class.class #输出Class
012    
013   puts
014   puts "算数基本操作"
015   puts 4/2
016   puts 4/2.0
017   puts 4.0/2.0
018   puts 4*2
019   puts 4**2
020   puts 4%2
021    
022   puts
023   puts "文本"
024   puts '这是第一个ruby程序'\
025   '使用单引号可以跨越多行'
026   puts "双引号使用"
027   puts "4/2=#{4/2}" #双引号中可以使用变量和表达式,单引号下不行,会当做字符串输出
028   puts "圆周率是%.4f"%Math::PI #相当于 printf"圆周率是%.4f"%Math::PI
029    
030   puts
031   puts "访问字符串和子字符串"
032   s="hello"
033   puts s[0
034   puts s[s.length()-1]
035   puts s[-1]
036   puts s[-2]
037   puts s[-s.length()]
038   puts s[s.length()]
039   puts s[s.length()].class #输出NilClass
040    
041   puts
042   puts s[0,3]
043   puts s[-3,5]
044   puts s[0,-2].class
045   puts s[2..4]
046      
047    
048   puts
049   s[s.length(),0]="world"
050   puts s
051   s[5,0]=","
052   puts s
053   s[5,5]=""
054   puts s
055    
056   puts
057   s="字符串迭代"
058   puts s
059   s.each_char{|x| print"#{x}-"}
060    
061   #数组   
062 =begin
063    ruby中数组用逗号分割元素
064     数组下标从0开始
065    []数组长度为0
066    each方法可以遍历一个数组
067 =end
068   puts
069   puts "数组"
070   arr =[1,2,3];arr.each{ |x|print"#{x},"};
071   puts
072   arr =[-10...0,0..10,]
073   puts "arr数组第一个元素为数组";arr[0].each{|x|print"#{x},"};
074   puts "arr数组第二个元素为数组";arr[1].each{|x|print"#{x}-"};
075   
076    
077      
078   puts
079   puts "数组创建"
080   puts "empty=Array.new():#{Array.new()}"
081   puts "nils=Array.new(3):#{Array.new(3)}"
082   puts "0=Array.new(4,0):#{Array.new(4,0)}"
083   puts "copy=Array.new(nils):#{Array.new(arr)}" #数组拷贝
084   puts "count =Array.new(3):#{Array.new(3){|x| x+1}}" #元素索引填充数组
085    
086    
087        
088   puts
089   puts "数组运算"
090 =begin
091    ruby中是可变数组
092    >>可以给数组添加数据
093    >>可以添加多条数据
094    |取合集
095    &取交集
096 =end
097   arr0=[]
098   arr0<<1
099   arr0<<2<<3
100    
101   puts "#{arr0}"
102   arr0<<[4,5,6]
103   puts "#{arr0}"
104   arr1=[1,3,2,5,4]
105   arr2 =[2,3]
106   puts "取并集:{arr1 | arr2}-->#{arr1|arr2}"
107   puts "取并集:{arr2 | arr1}-->#{arr2|arr1}"
108   puts "取交集:{arr1 & arr2}-->#{arr1&arr2}"
109   puts "取交集:{arr2 & arr1}-->#{arr2&arr1}"
110    
111   #对象
112 =begin
113   equal比较对象
114   eql比较对象值
115   ==比较值
116   |取合集
117   &取交集
118   object_id用来比较是否是同一个对象
119     
120 =end
121   puts
122   puts "对象比较"
123   obj1="ruby"
124   obj2=obj3="ruby"
125    
126   puts obj1.equal?(obj2)
127   puts obj2.equal?(obj3)
128   puts obj1.eql?(obj2)
129   puts obj2.eql?(obj3)
130   puts "obj1的obj1.object_id=#{obj1.object_id},obj2的obj2.object_id=#{obj2.object_id},obj3的obj3.object_id=#{obj3.object_id}"
131   puts 1==1.0 #==比较,可以进行值转换
132   puts 1.eql?(1.0) #eql比较,不能进行值转换
133   puts "0==nil:#{0==nil}"#判断是否为nil 另一种方法0.nil?
134 =begin
135   to_i,to_f,to_s用来转换成Integer,Float,string类型
136 =end
137   puts
138   puts "类型转换"
139   s1=1
140   puts "s1是:#{s1.class}"
141   s2="1"
142   puts "s2是:#{s2.class}"
143   s3=1.0
144   puts "s3是:#{s3.class}"
145   s4=s1.to_s()
146   puts "s4是:#{s4.class}"
147   s5=s2.to_i()
148   puts "s5是:#{s5.class}"
149   puts "s2==s4:#{s2==s4}"
150   puts "s1==s5:#{s1==s5}"
151    
152    
153    
154  
155 end
156 #new()创建对象
157 e =Example01.new();
158  
159 print e
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics