Ruby常用方法(3)

Ruby对象数组按属性排序
1 .Rails里,我们可以用sort_by方法对一个Ruby对象数组按照某个属性进行排序,如:
ruby 代码

User.find(:all).sort_by {|u| u.name.downcase}   

这等效于
ruby 代码

@users = User.find(:all)       
@users.sort! { |a,b| a.name.downcase < => b.name.downcase }    

sort!后面的!使得排序结果直接存入数组@users中,如果不想排序破坏@users数组,直接用sort即可。
Ruby字符串去空格

  1. lstrip : 去掉首空格
    rstrip : 去掉尾空格
    gsub : 去掉全部空格,不过要用到pattern匹配
    eg:
s1 = " Test  whitespace"
s2 = " hello  Ruby  Rails  "
s3 = "trailing  "
puts s1.lstrip+s3 # show  lstrip remove leading  whitespace
puts s2.rstrip+s3 # show  rstrip  remove trail whitespace
puts s1.strip + s2.strip + s3 # show strip remove leading and trail whitespace
puts s2.gsub(/\s+/,'')puts s2.gsub(' ','')
puts s2.gsub!(' ','')puts s2.gsub(//,'') # four methods show remove all whitespace

Ruby sort

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容