今天的Erlang Thursday我们换一个方向,我们来看看 c 模块的 c:xm/1.
c:xm/1 有一个入参,这个入参是表示一个模块名字的原子,或者这个入参是表示一个文件名单字符串,该函数检查模块没有使用和没有定义的函数以及废弃的函数。
今天的Erlang Thursday我们换一个方向,我们来看看 c 模块的 c:xm/1.
c:xm/1 有一个入参,这个入参是表示一个模块名字的原子,或者这个入参是表示一个文件名单字符串,该函数检查模块没有使用和没有定义的函数以及废弃的函数。
今天的Erlang Thursday讲的是 ordsets:is_subset/2.
ordsets:is_subset/2 有两个有序集合的入参,函数会检测第一个入参是否是第二入参的子集。例如一个集合A,它是另一个集合B的子集,则集合A的每一个元素必须是集合B的元素。
今天的Erlang Thursday讲的是 ordsets:subtract/2.
ordsets:substract/2 有两个入参,它们都是有序集合,返回值是一个由只在第一个有序集合入参而不在第二个有序集合入参的元素组成的有序集合。
今天给大家一个Erlang Thursday福利。
上星期在达拉斯-沃斯堡的Erlang User group 演讲上,有一些Erlang新人参加我们的会议,有人提到了如下问题:
有没有聪明的方法来获得列表的长度,或者还是必须要遍历列表的所有元素来计算它的长度呢?
今天的Erlang Thursday继续看ordsets模块并且讲讲 ordsets:intersection/2 。
ordsets:intersection/2 有两个有序集合的入参,它返回的结果是两个有序集合的交集形成的新的有序集合。对于那些没有集合理论背景的人,通俗的解释就是一个集合交集就是所有相交的集合的共同元素组成的集合。
今天的Erlang Thursday讲的的是queue模块原生API中的 queue:out/1 函数。
queue:out/1 是我见过的出镜率最高的队列函数或者说是队列方法。而且它在我所用到的各种语言或应用库中都存在。
今天的Erlang Thursday讲queue模块的原生API:queue:split/2 。
queue:split/2 有两个入参。第一个入参是一个从零到X的整数N,X是一个队列的元素个数,这个队列就是第二个入参,也就是我们想分隔的队列。函数的返回值是一个两元素元组,第一个元素是被分割队列的前N个元素组成的队列,第二个元素是被分割队列剩下的元素组成的队列。
今天的Erlang Thursday我们继续研究queue模块来看看扩展API里的 queue:peek/1 。
queue:peek/1 接收一个队列为入参,如果这个队列是空的,它返回原子 empty ,否则它返回 {value, Item} 元组,其中 Item 是队列的头部元素。
今天的Erlang Thursday我们继续queue模块的Okazaki API,来讲讲 queue:tail/1.
queue:tail/1 接收一个非空队列入参,返回移除了第一个元素的新队列。