RAILS 学习日记 --扩展
?
對象內容判斷.
nil? 和 false 對象 ,返回 true.
數值 和 TRUE 則始終返回 false.
其它對象,如為空時,返回 true,
如對象是字符串,會先剝離前后空格,再進行檢查是否為空.
?
?
puts [ ].blank????????????????????????????????? #=> true
puts { 1 =>2}.blank?????????????????????? #=>false
puts "cat".blank????????????????????????????? #=>false
puts "".blank?????????????????????????????????? #=>true
puts "?? ".blank??????????????????????????????? #=>true
puts nil.blank?????????????????????????????????? #=>true
?
?
枚舉與數組.Enumerations and Arrays
?
groups = posts.group_by {post|post.author_id}
?
us_states = state.find(:all)
state_lookup = us_states.index_by(|state| state.short_name)
?
?
puts[ "ant", "bat", "cat"].to_sentence #=>"ant,bat,and cat"
puts[ "ant", "bat", "cat"].to_sentence(:connector=> "andnotforgetting")
#=>"ant,bat,and not forgetting cat"
puts[ "ant", "bat", "cat"].to_sentence(:skip_last_comma=> true)
#=>"ant,bat and cat"
[1,2,3,4,5,6,7].in_groups_of(3) {|slice|putsslice.inspect}
#=>[1,2,3]
[4,5,6]
[7,nil, nil]
[1,2,3,4,5,6,7].in_groups_of(3,"X"){|slice|putsslice.inspect}
#=>[1,2,3]
[4,5,6]
[7,"X", "X"]
?
字符串擴展?? String? Extensions
?
string= "Nowisthetime"
putsstring.at(2) #=>"w"
putsstring.from(8) #=>"hetime"
putsstring.to(8) #=>"Nowisth"
putsstring.first #=>"N"
putsstring.first(3) #=>"Now"
putsstring.last #=>"e"
putsstring.last(4) #=>"time"
putsstring.starts_with?("No") #=>true
putsstring.ends_with?("ME") #=>false
count=Hash.new(0)
string.each_char{|ch|count[ch]+=1}
putscount.inspect
#=>{""=>3,"w"=>1,"m"=>1,"N"=>1,"o"=>1,
"e"=>2, "h"=>1, "s"=>1, "t"=>2, "i"=>2}
?
puts "cat".pluralize #=>cats
puts "cats".pluralize #=>cats
puts "erratum".pluralize #=>errata
puts "cats".singularize #=>cat
puts "errata".singularize #=>erratum
puts "first_name".humanize #=>"Firstname"
puts "nowisthetime".titleize #=>"NowIsTheTime"
?
depot> rubyscript/console
Loadingdevelopmentenvironment(Rails2.1).
>>"goose".pluralize
=>"gooses"
?
總結
以上是生活随笔為你收集整理的RAILS 学习日记 --扩展的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查询正在运行的ORACLE进程
- 下一篇: Linux系统平台上安装和配置Ruby