今天在项目遇到一个问题, 我要比对数据库里record的变化,用到了数组的find方法和select方法,以前没有注意两者的区别,今天记录下,以免犯错:
arr = [1,2,3,4]
arr.find{|i| i%2 == 0 }
#=>2
arr.select{|i| i%2 == 0}
#=>[2, 4]
find返回满足条件的第一条记录,而select返回满足条件的全部记录。 要分情况应用不同的方法,否则会产生bug。
![InBlock.gif](images/editer/InBlock.gif)
![InBlock.gif](images/editer/InBlock.gif)
arr.find{|i| i%2 == 0 }
![InBlock.gif](images/editer/InBlock.gif)
![InBlock.gif](images/editer/InBlock.gif)
![InBlock.gif](images/editer/InBlock.gif)
find返回满足条件的第一条记录,而select返回满足条件的全部记录。 要分情况应用不同的方法,否则会产生bug。