zoukankan      html  css  js  c++  java
  • Ruby基础数据类型

    #数字分为证书Integer,浮点数Float(对应与其他语言中的double),和复数Complex
    #整数又分为Fixnum和Bignum,Fixnum和Bignum会互相转换,这些都是ruby自动管理的操作。
    a=123_333_3432#加入下划线不会影响数字的值
    puts a
    puts 0b00000010#0b是二进制
    puts 0123#0 是八进制
    puts 0xa0#十六进制
    puts 2<=>2#前者比后者大返回1,相等返回0,比后者小返回-1
    
    #浮点数Float
    #String 字符串通常使用单引号或者双引号
    str='1233dd'
    str="1233ff"
    #有时需要构造一个很长并且包含不少单引号,双引号,这样就比较繁琐了
    #ruby还提供了%,%q和%Q等字符串表示法,这种表示方式使用的时候后面需要加上一堆分隔符去包含字符串(<>,{},[]等),Here适用于大段文字使用<<开头,并加上开始和结束的标识
    str=%{"fdsf'"dsf"}
    str=%q{"fdsf'"dsf"}
    str=%Q{"fdsf'"dsf"}
    str=<<H 
    sdfsdfsdgasgsaldfjsaldfkjas;dlfkja;sdlkfjlsdfsadfsadfsdfasdfa
    H
    #嵌入字符串是把变量的一个字符串形式的值签入到另一个字符串中的方法使用格式是#(val),如果val不是字符串类型,则会先调用val的to_s方法进行隐式转换,再行嵌入
    name="马欢"
    puts "my name is #{name}"
    #<<与+相同的效果操作。把给定对象附加到字符串对象上,生成一个新对象。
    str<<"新的哈哈"
    puts str.include?("哈哈")
    
    #符号Symbol类型,内容相同的字符串可能是两个不同的对象,而相同标识符表示的符号在任何地方都引用的是一个相同的实例,指向同一个引用。
    #符号与字符串比较,消耗的内存比较少。
    a="str"
    b="str"
    puts a.object_id==b.object_id
    sa=:str
    sb=:str
    puts sa.object_id==sb.object_id
    class ChineseNum
      Number=['','','','','','','','','','']
      attr:chinese_num
      def initialize(value)   
        @chindes_num=value if Number.include?(value)
      end
      def to_num
        Number.index(@chindes_num)+1 if @chindes_num
      end
      def to_s
        @chindes_num
      end
      def succ
        raise(IndexError, "超出了数字范围") if self.to_num>10
        ChineseNum.new(Number[self.to_num])
      end
      def <=>(other)
        self.to_num<=>other.to_num
      end
    end
    def getChinese(val)
      ChineseNum.new(val)
    end
    one=getChinese("")
    four=getChinese("")
    puts one.to_num
    puts one.succ
    range=ChineseNum.new("")..four
    range.each {|i| puts i}
  • 相关阅读:
    solidworks中的一些标注尺寸的技巧
    SolidWorks 2-8草图绘制的一般过程
    SolidWorks 2-7 草图的约束【课程来自虎课网】
    SolidWorks 2-5 草图的编辑
    HTML 文本格式化实例--实体
    今天长进之redis的学习
    初步了解Quartz
    职场风云3
    内网穿透
    职场风云2
  • 原文地址:https://www.cnblogs.com/smailxiaobai/p/4158142.html
Copyright © 2011-2022 走看看