每个文件中的每一行都将使用转换公式进行转换 每一行都将转换为地图中的键。所以我将%{“ax”=> value}设为x行数并为转换后的值赋值。
除此之外,我需要更多的密钥,计算密钥,基于已经从每个文件中读取的密钥,所以在我的代码中
我已经得到了这样的地图
sudo apt-get install libssl-dev
在下一个代码
中的Enum.at(0)行%{"a1"=>1,"a2"=>2, etc}
然后我的问题是如何将计算的密钥添加到地图。 我有一个f1函数,它接受一个映射并计算f1键
|>Enum.map(&Tools.processFile(pid,&1,conversion))
|>Enum.at(0)
如何在上面的管道代码中将f1键添加到地图中,以便我得到
%{“a1”=> 1,“a2”=> 2,“f1”=> 3}
此致
答案 0 :(得分:4)
如果我理解这一点,您应该定义f1
函数,以便将值附加到现有地图,而不是只返回新值。您可以使用Map.put/3
:
def f1(map) do
new_value = map["a1"] + 2
Map.put(map, "f1", new_value)
end
然后你可以将它添加到管道的末尾:
# ...
|> Enum.map(&Tools.processFile(pid,&1,conversion))
|> Enum.at(0)
|> f1