erlang record

record的定义

-record(useinfo,{id,name,pass}).

%动态的传值和取值,这里的Record是{useinfo,1,lvn,123456}。

put_record(Record) ->
   Name =
Record#userinfo.name,
   Name.

   %%  #userinfo{name=Name} = Record,
   %%  Name.

二个方法都行,看自己习惯,取出的结果就是自己传进球的lvn。

erlang record,布布扣,bubuko.com

时间: 2025-01-04 21:46:36

erlang record的相关文章

说说erlang tuple和record结构

erlang有两种复合结构,tuple和list,两者的区别是tuple子元素的个数是固定不变的,声明后就不能改变了:而list是可变的,可以通过[H|T]来取出或插入新元素.record有点像C/C++里面的结构体,实际上是语法糖,方便我们的开发,代码汇编时转成tuple表达形式. Tuple tuple的表示方法如: {Term1,...,TermN} 下面以例子说明erlang tuple及一些基本操作: 1> A = {1,2}. {1,2} 2> tuple_size(A). 2 3

ejabberd 在eclipse(erlide)中的配置、调试、运行

最近在折腾ejabberd,将ejabberd项目配置到eclipse中进行编译.调试等,现在将过程记下来,希望能帮助到需要的人. 准备 本次环境是在linux中进行,博主的linux是fedora20. 安装erlang 安装eclipse 安装eclipse插件:erlide 以上安装过程请自行搜索相关教程,本文略. 下面我们就把将ejaberd导入eclipse过程中所遇到的问题各个击破. 下载ejabberd项目源代码,将整个工程导入到eclipse中,怎么导就别问我啦!然后就是惨不忍睹

[Erlang之旅 0005] ETS 和Record

ETS 提供“键-值” 搜索表, 驻留在内存中,速度较快.是缓存的大利器. record 作为erlang的一种数据结构,通常用于函数量传递. ETS中创建表, 对数据进行增.删.改.查 , 及关闭表常用的函数 ets:new(Name, Options) -> tid()   %% 创建表 Options: Type: set | ordered_set | bag | duplicate_bag set: 每一个元组的键值都不能相同:ordered_set:元组键不能相同,并且会进行排序 b

Erlang里的Record

在Erlang内部只有两种混合的数据类型:List和Tuple,而这两种都不支持命名访问,所以如果没有额外的库的话想创建像PHP.Ruby或Python中的关联数组(Ruby中的Hash)是不可能的 在Ruby中我可以这样做: server_opts = {:port => 8080, :ip => '127.0.0.1', :max_connections => 10} 在Erlang的语法级别不支持这种表达 为了避免这种限制,Erlang虚拟机提供了一个伪数据类型,称为Record 

Erlang中的record与宏

http://www.cnblogs.com/me-sa/archive/2011/07/20/erlang0006.html 在Erlang中使用Tuple ,数据项的顺序\数量都是确定的,一旦数据项顺序调整或者增减字段,都容易出现badmatch. 同时一些常量如果硬编码到代码中,一旦数值变化,要想全部可靠的替换成新的数值是一个困难的事情. 这两种数据层面的变化,在Erlang中对应的解决方案是: record  Macro record   在代码中我们创建一个record:   -rec

对Erlang开发者的几点建议

* 确保没有任何编译警告 * Erlang中String采用list实现,32位系统中,其1个字符用8个字节的空间(4个保存value, 4个保存指针).因此string速度较慢,空间占用较大 * 在Server中,总是尽力书写尾递归(tail-recursive)的函数 * 使用'++'时,left list会被拷贝,然后添加到right list的头部,因此最好把length较短的list放在左侧 * 避免使用regexp,如果需要正则表达式,请使用re * timer模块的大部分函数实现,

Erlang ETS Table

不需要显示用锁,插入和查询时间不仅快而且控制为常量,这就是Erlang的ETS Table. 为什么而设计? Erlang中可以用List表达集合数据,但是如果数据量特别大的话在List中访问元素就会变慢了;这种主要是由于List的绝大部分操作都是基于遍历完成的. Erlang的设计目标是软实时(参考:http://en.wikipedia.org/wiki/Real-time_computing),在大量数据中检索的时间不仅要快而且要求是常量.为了解决快速查 询的问题,Erlang提供的机制就

erlang shell 命令中文使用手册

转载自--没有开花的树:http://blog.csdn.net/mycwq/article/details/16858805 整理的很完整,所以拿过来了, erlang shell 是在命令行模式下使用命令和 erlang 交互的工具.erlang shell功能十分强大,可以直接编译.加载.执行.调试模块等等,完全可以将shell做为erlang项目的终端使用.文章将对erlang shell 命令做介绍,还简单以示例说明. 打开erlang shell的帮助信息,在这里变成中文了.同时可以

iOS推送通知(Push Notification)的Erlang实现

本文来自:瑞仙的Erlang开发博客 原文链接:http://blog.csdn.net/zhongruixian/article/details/39528765 一.前言 关于cer/pem证书转换,网上很多资料,我这就不说了, 网上有PHP实现的Push Notification,可以参考, 为了更好的做PUSH服务定制,我这里以Erlang(gen_server)实现iOS Push Notification 二.协议 1.协议分析 表1 名称 长度 描述 Command 1 字节 固定