`
文章列表

Lua学习(三)语句

    博客分类:
  • lua
1、赋值语句 a = 1 a,b = 10, 2*x (多重赋值) x,y,z=1,2 (x=1,y=2,z=nil) x,y = y,x (交换x,y值) 2、局部变量和块(block) 局部变量:用 local 定义,作用域仅限于声明它的那个块 块:可以是一个控制结构体,一个函数体,一个程序块chunk(文件或文本串) x = 10 --全局变量 local i = 1 --局部变量 while i <= x do local x = i*20 --while循环体中的局部变量x pr ...
1、算数操作符:+ - * / ^ % ^ 指数运算 x^2 --->x的平方 x^0.5 --->x的评分根 % 取模(求余)运算,定义如下: a%b = a - math.floor(a/b)*b x%1 -->x的小数部分 x-x%1 -->x的整数部分 x-x%0.01 -->x精确到小数点后两位 2、关系操作符 < > <= >= == ~=   对于table,userdata和函数,lua是作引用比较,只有当引用同一个对象时,才相等 a = {x=1,y=2} ...
  今天准备开始学习lua,有点小紧张,一步一步记录自己的学习过程,勉励自己,加油。 类型和值 1、nil (空)   未被赋值的变量默认值都为nil,将变量赋值nil等同删除变量 2、boolean (布尔)   false和nil都为“假”   0和空 ...
1、普通随机 random:uniform(N) 2、以时间为种子(这是比较常见的一种做法)但是会出现一个问题:如果两个函数同一时刻去调用;或者一个函数循环递归调用,产生的随机数就不可靠了。 random:seed(erlang:now()) random:uniform(N) 3、通过crypto:strong_rand_bytes(N)生成种子。N是字节数,1Bytes=8Bit, 下面例子中,12个字节,那么12*8=96,二进制解析时,就分成3等份,每份32,当然, 你也可以随意分 <<A:32,B:32,C:32>> = crypto:strong_ ...
  在[url] http://room-bb.iteye.com/blog/2190213[/url]搭建svn服务器这一文中,是通过svn:// 方式来访问svn仓库的。本文着重介绍通过apache配置,以http方式来访问版本库(这对于svn版本库部署在外网服务器上很有用) 1:创建多个svn仓库 svnadmin create /data/svn/exam_1 svnadmin create /data/svn/exam_2 svnadmin create /data/svn/exam_3 注意,你也可以不用执行多次svnadmin 其实创建了一个exam_1,可以直接c ...
  为了预防A机器的硬盘损坏而导致数据丢失,可以机器A的svn库备份到机器B上,下面是详细操作步骤。 1、备份方案   a、目标库:svn://192.168.7.223/svn/bak_exam;源库:svn://192.168.7.224/svn/exam_test(注意,如果设置了代理,svn:// 可以替换成https:// )     b、采用svnsync 进行备份 2、创建目标库(在目标机器上操作)要确保机器上安装了subversion,打开了相应端口(参考 [url] http://room-bb.iteye.com/blog/2190213[/url]   a、创建:sv ...
mysq表删除操作:delete truncate drop之间的区别 delete:   每次删除一行,并在事务日志为删除的每行记录一项;   删除内容,释放空间,但不删除定义;   速度慢;   被删数据可恢复; truncate   通过释放用于存储表数据的数据页来删除数据,在事务记录页释放操作   删除内容,释放空间,但不删除定义;   速度快   不可恢复 drop   删除内容,释放空间,删除定义
  eprof是erlang自带的一个性能分析工具,可以帮助我们查看进程运行的相关信息
  file:///D:/Program%20Files/erl5.10.4/lib/observer-1.3.1.2/doc/html/etop.html   etop只在linux操作系统下可用。它相当于linux下的top工具,用于查看进程占用内存,调用次数等信息   参数:   output (value:text..):输出格式   lines (value:integer()):显示多少行   interval (value:integer()):刷新间隔   accumulate (value:boolean()):时间和调用次数累加   sort (runtime|re ...
  Erlang系统本身携带一个图形化监控工具,它可以监控:系统信息,应用程序架构,进程信息,ets和mneisa tables,ttb(trace工具)   启动方法:     1:windows系统下:   2:linux系统下:   暂时还没搞好

Erlang--epmd

  epmd Erlang Port Mapper Daemon Erlang端口映射守护进程   每当启动一个erlang节点,epmd都会自动启动   她的作用在epmd模块里面有介绍: The job of the epmd daemon is to keep track of which node name listens on which address. Hence, epmd map symbolic node names to machine addresses.   启动两个节点a和b   epmd所使用的端口号   查看epmd进程信息   epmd查看 ...
Erlang节点 file:///D:/Program%20Files/erl5.10.4/doc/reference_manual/distributed.html看一看这篇user'guide,erlang的用户说明编排有点乱 截图出来再总结一下。 1 启动方式 erl -name (long name) 例如:a@127.0.0.1 erl -sname (short name) 注意:以long name的节点和short name的节点间是无法通信的 2 在erlang分布式系统,节点间的联系   A.两个节点间是松散联系的。也就是说节点a和b创建时,如果a和b之 ...
   只要一段时间没在linux下操作svn,基本的vn指令都会忘记得7788。不要说svn指令,就连linux下某些指令一段时间不用了都会忘记,智商和记忆力都很捉急,只好写个备忘。。备忘。。备忘      首先,关于svn一些知识,可以查看一下网站 http://www.subversion.org.cn/svnbook   Help功能,这是最最最重要的啦  就是使用我们的Help svn -h svn ci -h svn resolve -h svn log -h等等 都可以通过svn -h来找到svn的subcommand, 再通过svn subcommand -h ...
  今天游戏开发的时候,就判断玩家是否重名,发现了以前一直都没注意到的mysql大小写敏感 的问题   例子如下:   role_base表 `role_id`int(11), `role_name`varchar(32) 字符集:utf-8 校检规则utf8_general_ci   select * from role_base where role_name='BBc' ...
    在游戏开发中,角色id或者公会id等都需要做唯一设计,是考虑到不同平台,不同服务器,方便以后合服。         通过平台id,服务器id,可以唯一确定一个服务器标识(可以考虑的游戏实际情况,设定服务器id和平台id的大小)     唯一key就是一个累加器,每创建一个玩家+1,这样就可以唯一标识每个玩家id     平台ID(PlatId)服务器id(ServerId)唯一key(UniqueKey) id设计总共43位,高10位为PlatId 中间10位为ServerId 低23位为UniqueKey,如下: 1 10 2 ...
Global site tag (gtag.js) - Google Analytics