[英]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.