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万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章