基本数据类型和对象

来源:互联网 发布:淘宝预售宝贝发布规则 编辑:程序博客网 时间:2024/05/17 09:06
    # 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