zoukankan      html  css  js  c++  java
  • ruby 数组array 排序sort 和sort!

    1.
    sort → new_ary click to toggle source
    sort { |a, b| block } → new_ary

    Returns a new array created by sorting self.

    Comparisons for the sort will be done using the <=> operator or using an optional code block.

    The block must implement a comparison between a and b, and return -1, when a follows b, 0 when a and b are equivalent, or +1 if b follows a.

    See also Enumerable#sort_by.

    a = [ "d", "a", "e", "c", "b" ]
    a.sort                    #=> ["a", "b", "c", "d", "e"]
    a.sort { |x,y| y <=> x }  #=> ["e", "d", "c", "b", "a"]
    a.sort { |x,y| x <=> Y }  #=> ["a", "b", "c", "d", "e"]


    2.
    sort! → ary click to toggle source
    sort! { |a, b| block } → ary

    Sorts self in place.

    Comparisons for the sort will be done using the <=> operator or using an optional code block.

    The block must implement a comparison between a and b, and return -1, when a follows b, 0 when a and b are equivalent, or +1 if b follows a.

    See also Enumerable#sort_by.

    a = [ "d", "a", "e", "c", "b" ]
    a.sort!                    #=> ["a", "b", "c", "d", "e"]
    a.sort! { |x,y| y <=> x }  #=> ["e", "d", "c", "b", "a"]

    参考链接:http://www.ruby-doc.org/core-2.0/Array.html#method-i-sort

    3.sort和sort!的区别:

    sort和sort!函数,默认都使用 <=>比较,他们的区别在于:
    sort! 可能会改变原先的数组,所以加个感叹号提醒
    sort 返回的是新数组,没对原先的数组进行修改
    在ruby的SDK里,能看到很多加了感叹号的函数,都意味着对函数操作的对象进行了状态更改。

  • 相关阅读:
    shell加密为二进制可执行文件
    lua自写限制并发访问模块
    centos虚拟机中挂新硬盘
    lua文件修改为二进制文件
    常用一些命令方法
    常用问题处理方法
    CVE-2010-3333
    Kernel Stack Overflow(转)
    NULL Pointer Dereference(转)
    Linux内核漏洞利用-环境配置(转)
  • 原文地址:https://www.cnblogs.com/dami520/p/3222674.html
Copyright © 2011-2022 走看看