zoukankan      html  css  js  c++  java
  • ruby学习总结05

    1.数值类(Numeric)

      有理数:Rational(分子,分母)

      复数:Complex(实数,虚数)

      随机数:Rnadom   rand()  返回比1小的浮点数,rand(种子数)  返回0到该正整数之间的数值

      数值间的'_'会被忽略,如123_213=>123213

      循环计算:n.times{|i|}  循环n次,从0~n-1

           from.upto(to){|i|}  从from递增到to

             from.downto(to){|i|} 从from递减到to

           from.step(to,step){|i|}  从from按step变化到to

    2.数值类

      1.创建 :可以使用%w创建不含空白的字符串数组,使用%i创建符号数组(ruby 2.0以后有效)

      2.索引的使用:a[n]  如果n为负数,从数组的末尾开始获取;如果n超过数组的长度,返回nil

          a[n..m]或者a[n...m]或者a.slice(n,m)获取从n到m的元素

          a[n,len] 获取从n开始的len个元素,a[n,0]=   在n的位置插入元素

          a.at(n)或者a.slice(n)  获取坐标为n的元素

      3.逻辑运算  arr1&arr2  获取两个集合中都有的元素并返回

             arr1|arr2  获取两个元素中所有的元素并返回

            arr1-arr2  获取在arr1中但不在arr2中的元素并返回

            arr1+arr2 获取两个数组中的所有元素(可能会有重复元素)

      4.操作:

        获取:first(获取头部),last(获取尾部)

        添加:unshift(添加头部),push(添加尾部等价于 数组<<元素)

        删除:shift(删除头部),pop(删除尾部),

           delete(删除元素),delete_at(n删除指定坐标的元素),

           delete_if{|item|}或者reject{|item|}或者reject!{|item|}删除符号条件的元素

           compact 删除所有的nil元素,uniq 删除数组中的重复元素

    3.字符串

      1.可以使用%Q和%q创建,类似于""和''

      2.字符串可以像数组一样使用索引,可以使用<<或者concat扩展字符串

      3.chop删除字符串的最后一个字符,chomp如果最后一个字符是换行符则删除最后一个字符

      4.可以使用upcase(大写),downcase(小写),swapcase(大小写切换),capitalize(首字母大写,其他字母小写)

    4.散列

      1.创建:{键1=>值1,键2=>值2,...}或者Hash.new(默认值)

      2.存取:

        方法一:可通过角标进行获取或设定

        方法二:通过store(键,值)进行设定,通过fetch(键){"不存在时的结果"}  

      3.迭代

        1.使用keys、values、to_a返回相应的数组

        2.使用each_key{|键|}、each_value{|值|}、each{|键,值|}进行迭代  

      4.键值判断

        1.判断是否存在指定的键:key?、has_key?、include?、member?

        2.判断是否存在指定的值:value?、has_value?

    5.正则表达式

      1.创建:【/匹配模式/】或者【Regexp.new(匹配模式)】或者【%r(匹配模式)】或者【Regexp.quote(匹配模式)】(这种方式可以将匹配模式中的特殊字符进行转义)

      2.匹配字符串开头:【/^匹配模式/】或者【/A匹配模式/】

       匹配字符串结尾:【/匹配模式$/】或者【/匹配模式z/】或【/匹配模式/】(如果字符串末尾是换行符,则匹配换行符前一个字符)

         反向匹配:【/^匹配模式/】  表示匹配不符合匹配模式的字符串

       选择匹配:【/^(模式1|模式2)$/】   表示匹配模式1或者模式2

      3.匹配结果的捕获

        1./(模式1)(模式2)(模式3)/=~字符串   可以通过$1、$2、$3等形式的变量分别获取模式1、2、3对应的字符串,同可以通过【(?:模式)】给变量赋值时,省略该部分

        2.通过变量$`、$&、$' 分别获取匹配前的字符串、匹配部分的字符串、匹配后的字符串

      4.字符串中替换和查找

        1.字符串.sub(匹配模式,置换后的值)  置换首次匹配的部分

        2.字符串.gsub(匹配模式,置换后的值)  置换所有匹配的部分

        3.字符串.scan(匹配模式) do |matched|    处理的操作   end  

          a、只能获取匹配部分的字符,不能进行替换操作

          b、如果正则表达式中有(),匹配部分以数组的形式进行返回

          c、如果没有指定块,直接返回匹配的字符串数组

        

  • 相关阅读:
    log4j2 工具类
    Intellij IDEA的快捷键
    Intellij IDEA设置忽略部分类编译错误
    idea 激活
    DataGrip使用入门
    IDEA Run/Debug Configurations 中点击“+”号没有tomcat server选项
    临时
    java异常类
    java匿名类
    java内部类
  • 原文地址:https://www.cnblogs.com/lifeone/p/4874189.html
Copyright © 2011-2022 走看看