1. 要
遍历
map,我们可以用 maps:fold/3 , 或者先用 maps:to_list/1 然后再用 lists:foldl/3 ,maps:fold/3 的性能更好
2. 需要加工后的数据依然是一个map, 可以直接构建 map , 也可以先构建 list 再 maps:from_list/1 转成 map, 后一种方式性能更好
3. 测试代码
-module(t).
-export([t/0]).
t() ->
Data = [1, 2, 3, 4, 5, 6],
最近处理的Bug,记录下:出现的问题:不稳定出现gen_server:call/3 的timeout;直接原因:是call的timeout时间为10s,但
遍历
ets表处理时间大于10s[居然会有进程处理一个请求大于10s,真是奇迹,下面再解释原因]. 1.最原始的代码处理: %%
遍历
表并回写数据
%%do_update_data/2里面做了ets:instert/2更新的操作和其它处理
之所以先从lists说起,因为大部分
erlang
的使用都离不开list,就连
erlang
中的string类型的数据其实也不过是一个list,
erlang
为什么对list那么情有独钟,作为一个并不深入这种
语言
的使用者我也说不好,不过我个人感觉,相比数组,list更方便于这种函数型
语言
对一个数据进行解析创建和修改,搭配于tuple(元组)也更利于一个数据的封装。
maillist上面对 “VM & BEAM Specs : idea for improving, the lists support”的争论很有意思,我也随手测一把看看
JDK 1.5.0_11
Erlang
/OTP R11B-5
$ javac ListAppend.java
$ /home/jdk/bin/java -server ListAppend
Total tim...
文章目录
列表
(list)1. 概念2. 定义3. 拼接
列表
定义案例解释情景1:向
列表
中加入 一个元素情景2:向
列表
中加入 多个元素4. 提取
列表
元素
列表
(list)
1. 概念
列表
的作用通常是将相同种类的物体放到一起,比如:
我们去超市买的东西,买了10个苹果,3个牛奶,1本书
一个商品就是
列表
中的一个元素,那么我们用
列表
来表示一下
> ThingsToBuy = [{apple, 10}, {milk, 3}, {book, 1}].
2. 定义
用 [...] 来创建
列表
列表
中元素
-module(helloworld).
%% API
-export([hello_world/0, increment/1, decrement/1, out/1, common/2]).
hello_world()
{ok, Cwd} = file:get_cwd().
Filelist = filelib:fold_files( Cwd, ".*", true, fun(File, Acc) -> [File|Acc] end, []).
io:format("~p", [Filelist]).