map
和select
可以說(shuō)是ruby枚舉方法中最重要也最有用的兩個(gè)方法,如果你已經(jīng)學(xué)習(xí)并了解Array和Hash,你一定會(huì)覺(jué)得他們非常漂亮和靈活,這只是ruby這個(gè)美女一半的風(fēng)情而已......每個(gè)人都有自己習(xí)慣的添加、刪除、訪問(wèn)數(shù)據(jù)的方法,也都有實(shí)現(xiàn)#each迭代的風(fēng)格各異的版本,但是,你知道嗎?使得Array和Hash在Ruby中真正強(qiáng)大的原因,是因?yàn)樗鼈兛梢允褂酶鞣N枚舉(Enumerable)的方法,比如map和select。
其實(shí),枚舉(Enumerable)在ruby中是一個(gè)模塊(module),模塊就意味著會(huì)有一大堆方法(method)捆綁在這里面,可以盡情的使用。這就意味著,你不用總是重復(fù)做一件相同的事兒,比如你需要將一個(gè)Array里面最大的數(shù)字篩選出來(lái),你不需要一遍又一遍的寫一段相同的程序去實(shí)現(xiàn)這件事情,只要調(diào)用一下#max就可以了!
希望這篇文章能夠幫助你更好的去使用#map, #select,#each這些枚舉方法!
當(dāng)你在構(gòu)建一個(gè)程序或者一個(gè)網(wǎng)站的時(shí)候,經(jīng)常會(huì)碰到在一個(gè)對(duì)象里(object),比如Array、Hash等,針對(duì)這個(gè)對(duì)象里的每一個(gè)元素進(jìn)行各種處理。