- 浏览: 86380 次
- 性别:
- 来自: 广州
最新评论
-
fair_jm:
多谢博主分享 这些模块资料都蛮少的 自己英语渣又看的不是很懂^ ...
The Erlang Parser之erl_parse
文章列表
主要是利用rabbitmq的东西,贴出服务端代码
listen代码
gen_tcp:listen(Port, SocketOpts)
SocketOpts = [
binary,
{packet, 0}, %%{packet, 0}表示erlang系统会吧TCP数据原封不动地直接传送给应用程序
{reuseaddr, true}, %%允许本地重复使用端口号
{nodelay, true}, %%意味着很少的数据也会被马 ...
digraph模块是对图结构的一种封装,主要的description请参考http://www.erlang.org/doc/man/digraph.html
下面来看看digraph的一些方法:
图结构无非就是由一些节点和边组成的,在digraph中有个Label的东西,这个其实就是图节点的附加信息,类似在C语言中在一个节点中放个指针,指向一些附加的信息。
那么要创建图,就必须要先创建一些图的基本结构出来
new() -> digraph()
new(Type) -> digraph()
cyclic
Allow cycles in the digraph ...
这篇续前一篇,来介绍erl_parse这个重头模块。
先看看这个模块的三个重头方法:
parse_form(Tokens) -> {ok, AbsForm} | {error, ErrorInfo}
Types:
Tokens = [token()]
AbsForm = abstract_form()
ErrorInfo = error_info()
This function parses Tokens as if it were a form. It returns: //针对form
{ok, AbsForm}
The parsing was suc ...
Erlang提供的基本扫描器是erl_scan,里面提供了两个重头函数
string(String) -> Return
string(String, StartLocation) -> Return
string(String, StartLocation, Options) -> Return
Types:
String = string()
Options = options()
Return = {ok, Tokens :: tokens(), EndLocation}
| {error, ErrorInfo :: error_ ...
先给出代码先
-module(demo1).
-compile(export_all).
start() ->
spawn(?MODULE, loop, []).
erlang进程总结
- 博客分类:
- erlang
代码一:
-module(exit_demo).
-export([start_a/0,start_b/1,af1/1]).
start_a()->
spawn(fun af/0).
af()->
io:format("process a created."),
%%process_flag(trap_exit,true),
receive
{'EXIT',_Pid,abc} ->
io:format("kil ...
师兄面试金山的一道面试题,记录一下,就是要在某个指定的目录下找某个指定的文件,并把它输出。
find . -type f -exec grep demo1 -il {} \;
.代表当前目录 这里可以指定你要查找的路径;
type -f 指定查找的类型是文件类型
grep demo1 匹配demo1该字符串
-i或--ignore-case 忽略字符大小写的差别。
-l或--file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L或--files-without-match 列出文件内容不符合指定 ...
ubuntu结束进程方法
1、打开终端
2、敲 ps -ef 查出进程的编号(就是PID那列)
3、敲 kill PID (如果PID是123456,则kill 123456)
4、OK了
显然这也不是最好的办法,因为ps -ef出来的是一大串的信息,很难找到我们的信息,这时可以使用gerp来进行匹配。
所以命令如下:
ps -ef | gerp 关键字
譬如:
ps -ef | grep erlang
joe 2534 2233 0 09:40 pts/1 00:00:00 /usr/lib/erlang/erts-5. ...
今天在看erlang并发编程一书,收益良多,看了第一遍的erlang程序设计,大概也就是泛泛的看了一遍,现在看第二遍,发现收获到更多的东西。把今天看到的erlang并发编程一书中的精华整理一下。
尽管一个典型的程序往往会使用很多不同的函数来操作列表,但大多数列表处理函数都是由少数几种模式演变而来。大部分列表处理函数无非就是在干着这些事情:
1: 在一个列表中寻找一个元素,并在找到时做些事情。
2: 对输入列表的每个元素做些事情并构造一个与其结构相同的输出列表。
3: 在遇到列表中的第n个元素时做些事情。
4: 对列表进行扫描,并构造一个或一组与原列表相关的新列表 ...
初学erlang,这里对erlang的模式匹配进行记录一下,当然下面是我从各个不同的网站摘取的一些值得注意的地方,主要方便自己以后的查阅。下面总结了几点需要注意的地方:
1:模式匹配为变量赋值提供了基本的机制。被赋值后, ...
刚才在emacs下怎么也输不如中文,之前是可以的,我估计是ibus的启动的问题。但是用emacs -nw在控制台打开却可以输入中文,哎,不知为什么,于是上网搜,说的最多的就是说ibus的激活快捷键与emacs的Mark冲突,于是我试了试,结果不行,说明原因不在这。后来搜到一篇解决我问题的文章,所以就把解决方法记录一下,以免以后需要。还是对ibus进行操作。
killall ibus-daemon
ibus-daemon --xim -d
搞定。
原因:
macs使用的是xim输入法。如果使用ibus-daemon启动ibus,则不会把ibus关联到xim,必须在启动时使 ...
最近在苦学erlang,于是就配置了在emacs的erlang开发环境,感觉还不错,比win下爽多了,这里就记载一下快捷键。方便以后的使用。现在基本是在emacs的一个buffer中放平常经常使用的快捷键,方便查看。
常用快捷键补充
C-x d 目录管理界面,可以通过该界面进入不同的目录来打开文件
C-x C-q 使目录管理界面的进入可编辑模式,在该模式下,可以对目录下的文件名进行修改,通过C-x C-s 可以该修改生效
M-g g 定位到指定的行
C-x h 全文选择(全选)
M-h 选中当前光标所在段,连续使用该快捷键会依次选中当前,当前段和当 ...
解决办法
: 打开终端,重启一下ibus!
输入:
killall ibus-daemon
(结束进程) i
ibus-daemon -d
(重启ibus)
搞定收工
今早一起来ubuntu又出现了新的问题,就是所有的目录都显示到桌面上来了,于是又得问问谷老师,结果发现是自己的一个目录好像不知为何被改动了,nano ~/.config/user-dirs.dirs,发现
XDG_DESKTOP_DIR="$HOME/"
XDG_DOWNLOAD_DIR="$HOME/download"
XDG_TEMPLATES_DIR="$HOME/template"
XDG_PUBLICSHARE_DIR="$HOME/public"
XDG_DOCUMENTS_DIR=&quo ...
折腾了一个晚上,终于可以在emacs下发邮件了,我暂时只能配置出163邮箱的,谷歌邮箱暂时只能收看邮件,但是发不出邮件,具体原因还不是很清楚,查看了国内外的一堆文章都搞不定。信心被大大的打击,好在能配置出163的,先凑合使用吧。
首先要先安装gnus,这个很简单
sudo apt-get install gnus
接着
tou
touch ~/.gnus.erl
下面就是重头戏了
;;(setq gnus-startup-file "~/Gnus/.newsrc") ...