基本数据类型和对象

    # 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  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值