日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

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

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

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

問題:一個列表;對每一個元素平方;將平方后的數(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ù)式的程序很好的對應了我們所提問題的兩個步驟,分別用 mapcar, remove-if來實現(xiàn)。不過Lisp的程序確實不太好讀,我們用python 和 ruby 來改進一下:

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] 

經過比較,ruby的最為簡潔,而且與問題描述對應的最自然。以上就是對Python函數(shù)式的相關介紹。


標題名稱:Python函數(shù)式和Ruby的相關技術比較
當前網址:http://m.5511xx.com/article/dpjjojs.html