日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Python函數(shù)式和Ruby的相關(guān)技術(shù)比較

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

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

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

看解決的方法:

1. 傳統(tǒng)過程式(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)了我們所提問題的兩個(gè)步驟,分別用 mapcar, remove-if來實(shí)現(xiàn)。不過Lisp的程序確實(shí)不太好讀,我們用python 和 ruby 來改進(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)過比較,ruby的最為簡(jiǎn)潔,而且與問題描述對(duì)應(yīng)的最自然。以上就是對(duì)Python函數(shù)式的相關(guān)介紹。


網(wǎng)頁標(biāo)題:Python函數(shù)式和Ruby的相關(guān)技術(shù)比較
URL地址:http://www.dlmjj.cn/article/dpjjojs.html