2

CoffeeScript のリスト内包表記は、Python とは少し異なります... 人々がリスト内包表記を返すのを好む方法はどれですか?

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 の場合のように、リストのリストではなく、リストを正しく返します。

4

2 に答える 2

9

リスト内包表記を返すのに好まれる方法は次のうちどれですか?

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 つのオプションのうち、確かに #3 です。しかし、最良のスタイルの選択は、実際には次のとおりです。

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

関数の最後の行として、任意の式exprは と同等return (expr)です。キーワードが必要になることはreturnほとんどありません。

于 2011-04-24T21:46:44.403 に答える
2

私は CoffeeScript を使用したことはありませんが、私のオプションが間違った結果をもたらしたり、ばかげたことをし[...].pop()たり、単に括弧を使用したりする場合は、括弧を使用します。

于 2011-04-24T19:47:56.343 に答える