ruby的一些面試題

1. 數組的元素是Hash,請按照Hash給數組排序

  1. >> arr << {:name => 3, :type1 => 'b'}  
  2. => [{:type1=>"a":name=>1}, {:type1=>"c":name=>2}, {:type1=>"b":name=>3}]  
  3. >> arr.sort_by{|x| x[:type1]}  
  4. => [{:type1=>"a":name=>1}, {:type1=>"b":name=>3}, {:type1=>"c":name=>2}]  
  5. >> arr.sort{|x, y| x[:type1] <=> y[:type1]}  
  6. => [{:type1=>"a":name=>1}, {:type1=>"b":name=>3}, {:type1=>"c":name=>2}]  

2. 下面代碼運行之後結果是什麼

  1. class User < ActiveRecord::Base  
  2.   after_save :set_name  
  3.   private   
  4.   def set_name  
  5.     self.update_attribues(:name => 'Larry')  
  6.   end  
  7. end  
  8.   
  9. User.create(:name => "Woe")  

結果是死循環,一直save after_save.怎麼辦呢 
他說了個改 
before_save 
然後改 
self.name = "Larry" 








發佈了42 篇原創文章 · 獲贊 6 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章