簡體   English   中英

CoffeeScript列表理解/數組理解

[英]CoffeeScript List Comprehensions / Array Comprehensions

CoffeeScript列表推導與Pythons略有不同......這些是人們喜歡返回列表推導的方式?

return elem+1 for elem in [1,2,3] # returns 3+1
return [elem+1 for elem in [1,2,3]].pop() # returns [2,3,4]
return (elem+1 for elem in [1,2,3]) # returns [2,3,4]

在Python中,我只想寫:

return [elem+1 for elem in [1,2,3]]

並且它正確地返回列表,而不是列表列表,就像在CoffeeScript中一樣。

以下哪些是人們喜歡返回列表理解的方式?

return elem+1 for elem in [1,2,3] # returns 3+1
return [elem+1 for elem in [1,2,3]].pop() # returns [2,3,4]
return (elem+1 for elem in [1,2,3]) # returns [2,3,4]

那么,在三個選項中,肯定是#3。 但最好的風格選擇實際上是這樣的:

elem+1 for elem in [1,2,3] # returns [2,3,4]

作為函數的最后一行,任何表達式expr都等同於return (expr) return關鍵字很少是必需的。

我從來沒有使用過CoffeeScript,但是如果我的選擇得到了錯誤的結果,做一個愚蠢的[...].pop() kludge或只是使用一組括號,我會去括號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM