av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

Python函數(shù)式和Ruby的相關(guān)技術(shù)比較

Python函數(shù)式在平時(shí)的使用中有很多有意思的事情。下面我們就詳細(xì)的看看Python函數(shù)式和Ruby之間的技術(shù)比較。下面我們就來(lái)看看如何進(jìn)行應(yīng)用。希望大家有所收獲。

Python函數(shù)式編程到底有什么用呢? 我想實(shí)際的好處就是可以將更好的描述問(wèn)題本身,而不是描述解決問(wèn)題的操作步驟??匆粋€(gè)具體的例子:

問(wèn)題:一個(gè)列表;對(duì)每一個(gè)元素平方;將平方后的數(shù)如果除3的余數(shù)為1則從列表中除去。

看解決的方法:

1. 傳統(tǒng)過(guò)程式(Python函數(shù)式)

 
 
 
  1. >>> s = [1,2,3]  
  2. >>> d = []  
  3. >>> for i in s:  
  4. if i * i % 3 != 1:  
  5. d.append(i * i)  
  6. >>> d  
  7. [9]  
  8. >>> 

2. 傳統(tǒng)函數(shù)式(Lisp)

 
 
 
  1. (remove-if (lambda (n) (= (mod n 3) 1))  
  2. (mapcar (lambda (n) (* n n))  
  3. '(1 2 3))) 

可以看出,函數(shù)式的程序很好的對(duì)應(yīng)了我們所提問(wèn)題的兩個(gè)步驟,分別用 mapcar, remove-if來(lái)實(shí)現(xiàn)。不過(guò)Lisp的程序確實(shí)不太好讀,我們用python 和 ruby 來(lái)改進(jìn)一下:

3. Python函數(shù)式:

 
 
 
  1. >>> filter(lambda n: n % 3 != 1, map(lambda n:n*n, [1,2,3]))  
  2. [9] 

4. Ruby 函數(shù)式:

 
 
 
  1. [1,2,3].map {|n| n * n}.reject{|n| n % 3 == 1}  
  2. => [9] 

經(jīng)過(guò)比較,ruby的最為簡(jiǎn)潔,而且與問(wèn)題描述對(duì)應(yīng)的最自然。以上就是對(duì)Python函數(shù)式的相關(guān)介紹。


分享文章:Python函數(shù)式和Ruby的相關(guān)技術(shù)比較
文章轉(zhuǎn)載:http://uogjgqi.cn/article/dpjjojs.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流