簡體   English   中英

使用Enum遍歷Elixir中的元組列表

[英]Iterating over list of tuples in elixir using Enum

我試圖通過Enum.map遍歷元組列表。

coordinates = [{0,0},{1,0},{0,1}]
newcoordinates = Enum.map(coordinates,fn({X,Y})->{X+1,Y+1})

此代碼無效。 我怎樣才能做到這一點 ?

首先,在函數聲明之后您缺少end 其次,在Elixir中,以大寫字母開頭的標識符是原子,而小寫字母是變量,而Erlang不像大寫字母是變量,小寫字母是原子。 因此,您只需要使它們小寫即可:

iex(1)> coordinates = [{0, 0},{1, 0},{0, 1}]
[{0, 0}, {1, 0}, {0, 1}]
iex(2)> newcoordinates = Enum.map(coordinates, fn {x, y} -> {x + 1, y + 1} end)
[{1, 1}, {2, 1}, {1, 2}]

您還可以使用comprehensions

for {x, y} <- [{0,0},{1,0},{0,1}], do: {x+1, y+1}

理解是枚舉的語法糖,所以等效於使用Enum

暫無
暫無

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

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