小胖博客

记录开发和使用中的点滴

Ruby中一个Proc和一个lambda的对比

arr1= ["adasd","as"]

size_code = Proc.new do |i,j|  

   i.size <=> j.size  
end  
  a= arr1.sort(&size_code)  

  puts a

arr1= ["adasd","as"]
  size_code_lambda = lambda do |i,j,k|   
      i.size <=> j.size 
  end  
  a= arr1.sort(&size_code_lambda)  
  puts a

#lambda会对参数传输进行监控和报错  proc则不会只会进行对k这个不存在的参数忽略对待,因此具有一定的兼容性

发表评论

电子邮件地址不会被公开。