- # coding: utf-8
- #Example01:学习数据类型和对象
- #@author yongtree
- class Example01
- #基本的数字类型,和java差不多,但是不同的是都是对象
- puts "基本数字类型"
- puts 1
- puts 1.0
- puts 1.class
- puts 1.0.class
- #基本算数操作
- puts
- puts "基本算数操作"
- puts 4/2
- puts 4/2.0
- puts 4%2
- puts 4+2
- puts 4*2
- puts 4**2
- #文本
- puts
- puts '第一个ruby程序'\\
- '单引号的使用:'\\
- '使用单引号可以跨越多行'
- puts "双引号的使用"
- puts "4/2=#{4/2}" #双引号中可以包含变量或者表达式,但是单引号下不行,会当成字符串输出
- puts "圆周率是%.4f" % Math::PI #类似于
- #printf ("圆周率是%.4f" % Math::PI)
- puts
- puts "访问字符串和子字符串"
- s="hello"
- puts s[0]
- puts s[s.length-1]
- puts s[-1]
- puts s[-2]
- puts s[-s.length]
- puts s[s.length].class #返回nil
- puts
- puts s[0,3]
- puts s[-3,5] #-3-->0
- puts s[0,-2].class #长度不是是负值
- puts s[2..4]
- puts
- s[s.length,0]="world"
- puts s
- s[5,0]=","
- puts s
- s[5,5]=""
- puts s
- puts
- s="字符串迭代"
- puts s
- s.each_char{|x| print "#{x}-"}
- #数组
- puts
- puts
- puts "数组"
- arr = [1,2,3];arr.each { |x| print "#{x},"}
- puts
- arr = [-10...0,0..10,]
- puts "arr第一个元素为数组,打印:";arr[0].each { |x| print "#{x},"};
- puts
- puts "arr第二个元素为数组,打印:";arr[1].each { |x| print "#{x},"};
- puts
- puts
- puts "数组创建"
- puts "empty=Array.new:#{Array.new}"
- puts "nils=Array.new:#{Array.new(3)}"
- puts "zeros=Array.new:#{Array.new(4,0)}"
- puts "copy=Array.new:#{Array.new(arr)}"
- puts "count=Array.new:#{Array.new(3){|x| x+1}}"
- puts
- puts "数组运算"
- arr0=[]
- arr0<<1
- puts "#{arr0}"
- arr0<<2<<3
- puts "#{arr0}"
- arr0<<[4,5,6]
- puts "#{arr0}"
- arr1=[1,3,2,5,4]
- arr2=[2,3]
- puts "取并集:(arr1 | arr2)-->#{arr1|arr2}"
- puts "取并集:(arr2 | arr1)-->#{arr2|arr1}"
- puts "取交集:(arr1 & arr2)-->#{arr1&arr2}"
- puts "取交集:(arr2 & arr1)-->#{arr2&arr1}"
- #对象
- puts
- puts "对象比较"
- obj1="Ruby"
- obj2=obj3="Ruby"
- puts obj1.equal?(obj2) #比较对象 false
- puts obj2.equal?(obj3) #true
- puts obj1.eql?(obj2) #比较值 true
- puts obj1==obj2 #比较值 true
- puts "obj1的object_id=#{obj1.object_id},obj2的object_id=#{obj2.object_id},obj3的object_id=#{obj3.object_id}" #可以通过比较对象的object_id来判断是不是一个对象
- puts 1==1.0 #==比较,值可以转换 true
- puts 1.eql?(1.0) #不能进行值转换 false
- end
- #该片段来自于http://www.codesnippet.cn/detail/080520133208.html
来源: http://www.codesnippet.cn/detail/080520133208.html