Erlang的编程语言使用方法:
Posted 程序大官猿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Erlang的编程语言使用方法:相关的知识,希望对你有一定的参考价值。
Erlang中执行linux命令两种方法
①.os.cmd(Cmd)
os模块提供了cmd函数可以执行linux系统shell命令(也可以执行windows命令)。返回一个Cmd命令的标准输出字符串结果。例如在linux系统中执行os:cmd("date"). 返回linux的时间。 这种比较简单,一般情况下,也满足了大部分需求。
②.erlang:open_port
当os.cmd(Cmd) 满足不了你的需求的时候,就可以用强大的open_port(PortName, PortSettings) 来解决了。最简单的需求,我要执行一个linux命令,而且还需要返回退出码。os.cmd(Cmd) 就有些捉急了。也不要以为有了open_port(PortName, PortSettings)就可以完全替代os.com(Cmd) 了。强大是需要代价的。
优点:可以返回exit status 和执行过程.
缺点: 非常影响性能, open_port执行的时候,beam.smp会阻塞当对本身系统的性能要求比较高的时候,不建议使用erlang:port(PorName,portSettings)
Erlang shell的使用
①.Erlang中整数值没有上限值,最大值只是受限于硬件(内存有多大),在Erlang Shell中可以方便的做进制转换:Base#Value Base的范围2~16 2#101011,Erlang Shell中查询ASCII码 $1 $a $A $\n $\}.
②.Erlang Shell中释放变量使用f() 定义record使用rd(),读取shell输入使用io:read/1可以接受输入Erlang term.
③.Erlang Shell中接受消息使用flush() 自己的Pid是self() 查看进程信息使用processes() i() 但是不要在进程非常多的场景使用,会消耗大量内存.
Erlang中三种生成随机数的方法
①.random:uniform().
这个函数是erlang库random模块提供的。一般都采用这个:
1> random:uniform().
0.4435846174457203
②.erlang:now().
用当前时间作为随机相信很多人都做过吧。所以如果你没有太多的要求,当然也可以这么做。
1> erlang:now().
{1419,831449,715000}
③.crypto:strong_rand_bytes(N).
crypto模块是用于加密的模块。strong_rand_bytes函数能够生成均匀的N个字节的随机数。返回的是二进制数据。
如:
就可以shengcheng,3个32位的随机数,相当于3个随机整数。
erlang中的tuple
①.Tuple是Erlang表达复杂数据结构的手段,第一个元素经常被称作Tag,Tag Massage是Erlang编程的最佳实践.
②.Tuple索引是从1开始的,执行一下 element(1,{a,b,c}).看看 再试一下element(0,{a,b,c})看看报什么错.
③.Tuple大小使用tuple_size({1,2,3,4,5}).
erlang中的atom
①.atom是否已经注册的:registered() unregister(Pid) whereis(Atom) regs().它唯一能够进行的运算就是比较,可以使用.和@的,但是别给自己添乱.
②.atom会被记录在ERT系统表中,只需要几个字节,atom之间比较起来也很快.
③.atom不参与Erlang GC,所以atom不能无节制的创建,list_to_existing_atom可以一定程度上缓解创建重复atom的内存消耗.
本文由程序大官猿发布,2017年8月17号
关注更多精彩
以上是关于Erlang的编程语言使用方法:的主要内容,如果未能解决你的问题,请参考以下文章