第二专题提供第二的最新资讯内容,帮你更好的了解第二。
本篇是读书笔记,对于平时没有用到或者很少用到的Lua相关语法的地方做下记忆 lua行注释:-- lua块注释:--[[ ]]   ,  --[[   --]] 当要重新启用被块注释的代码时,只需在第一行行首加一个连字符即可:---[[ LUA的字符串是不可变的值,修改的话要创建新的字符串 tonumber:字符串转换成数字 tostring:数字转换成字符串 #:获取字符串的长度 table.ma
  上一篇讲了Lua的介绍,这一篇来讲讲Lua集成开发环境的搭建,一种方法就是安装Elipse插件来搭建Lua的集成开发环境,个人觉得有点大鸟用大炮的感觉,这里介绍另一种,就是安装lua.tmbundle与TextMate搭配使用   去github下载bundle. https://github.com/textmate/lua.tmbundle/ 把下载的文件解压缩然后改名为lua.tmbun
下述资料摘自<Lua程序设计(第二版)> Lua有8种基础类型 nil         空值 boolean     布尔值 number      数字 string      字符串 userdata    自定义类型 function    函数 thread      线程 table       表 nil(空) nil是一种类型,它只有一个值nil,它的主要功能是用于区别其他任何值。如
资料摘自<Lua程序设计(第二版)> 表达式 算术操作符 Lua支持的常规算术操作符有:二元的"+"(加法)、"-"(减法)、"*"(乘法)、"/"(除法)、"^"(指数)、"%"(取模),一元的"-"(负号)。所有这些操作符都可用于实数。例如,x^0.5将计算x的平方根,x^(-1/3)将计算x立方根的倒数。   关系操作符 Lua提供了以下关系操作符: <   >   <=  >=  == 
资料摘自<Lua程序设计(第二版)> 语句 赋值 a = "hello".."world" t.n = t.n + 1 c,b = 10,2*x    --多重赋值,也就是一下子将多个值赋予多个变量,每个值或每个变量之间以逗号分隔,赋值后c为10,b为2*x 在多重赋值中,Lua先对等号右边的所有元素求值,然后才执行赋值。这点与其它语言不同: x,y = y,x      --交换x与y a[i]
资料摘自<Lua程序设计(第二版)> 函数 在Lua中,函数是一种对语句和表达式进行抽象的主要机制。 function add(a)     local sum=0     for i,v in ipairs(a) do         sum = sum + v     end         return sum end 一个函数定义具有一个名称(本例中的add)、一系列的参数(参数表)和一个
资料摘自<Lua程序设计(第二版)> 深入函数 在Lua中,函数是一种"第一类值",这表示Lua中的函数与其他传统类型的值(例如数字和字符串)具有相同的权利。函数可以存储到变量或table中,可以作为实参传递给其他函数,还可以作为其他函数的返回值。 当谈论一个函数名称时(例如print)实际上是在讨论一个持有某函数的变量。 function foo(x) return 2*x end 其实是以下代
资料摘自<Lua程序设计(第二版)> 迭代器与泛型for 所谓"迭代器"就是一种可以遍历一种集合中所有元素的机制。在Lua中,通常将迭代器表示为函数。每调用一次函数,即返回集合中的"下一个"元素。 简单示例如下: function valuses(t)     local i = 0     return function() i = i+1;return t[i] end end t = {10
资料摘自<Lua程序设计(第二版)> 字符串缓冲 假设正在编写一段关于字符串的代码,例如正在逐行地读取一个文件。典型的读取代码是这样的: local buff="" for line in io.lines() do     buff=buff..line.."\n" end 上面代码看似可以正常工作,但如果面对较大的文件时,它却会导致极大的性能开销。例如,用这段代码来读取一个350kb大小的文件
资料摘自<Lua程序设计(第二版)> 链表 由于table是动态的实体,所以在Lua中实现链表是很方便的。每个结点以一个table来表示,一个"链接"只是结点table中的一个字段,该字段包含了对其他table的引用。如: list = nil 在表头插入一个元素,元素值为v: list = {next=list,value=v} 遍历此列表: local l = list while l do
资料摘自<Lua程序设计(第二版)> 数据文件 数据文件如果是一种预定义的格式,例如csv或xml,那么可以选择的做法很少。不过,如果是为了应用而创建数据文件的话,那么就可以使用Lua的构造式作为格式。在这种格式中,每条数据记录表示为一个Lua构造式。这样,原来以这种形式书写的数据文件: Donald E. Knuth,Literate Programming,CSLI,1992 Jon Bent
资料摘自<Lua程序设计(第二版)> 类 一个类就是一个创建对象的模具。Lua则没有类的概念,每个对象只能自定义行为和形态(下面所说的类是由table模拟出来的)。 定义一个类示例如下: Account = {balance = 0} function Account:new(o) --声明构造函数     o = o or {}     setmetatable(o,self)     self
资料摘自<Lua程序设计(第二版)> 协同程序(coroutine)   协同程序与线程(thread)差不多,也就是一条执行序列,拥有自己独立的栈、局部变量和指令指针,同时又与其他协同程序共享全局变量和其他大部分手东西。从概念上讲线程与协同程序主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作地运行。就是说,一个具有多个协同程序的程序在任意时刻只能运行一个协同程序
资料摘自<Lua程序设计(第二版)> 编译、执行 dofile是一种内置的操作,用于运行Lua代码块。但实际上dofile是一个辅助函数,loadfile才做了真正核心的工作。loadfile从一个文件加载Lua代码块,但它不会运行代码,只是编译代码,然后将编译结果作为一个函数返回。一般dofile可以这样定义: function dofile(filename)   local f = asse
使用静态链接的方式 #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef __cplusplus extern "C" { #endif #include "lua/include/lua.h" #include "lua/include/lauxlib.h" #include "lua/include/lualib
资料摘自《Lua程序设计(第二版)》 在Lua中,函数time和date提供了所有的日期和时间功能。 如果不带任何参数调用time函数,它会以数字形式返回当前的日期和时间。如果用一个table作为参数调用它,它会返回一个数字,表示该table中所描述的日期和时间。这种table具有以下有效字段: year    一个完整的年份 month   01~12 day     01~31 hour   
字符串替换 a = "one string" b = string.gsub(a,"one","another") --change string parts print(a) print(b) #号可以求得字符串长度 但是1个中文字符 长度是3 \是转移符号 格式复杂的字符串可以用[[]]来表示 page = [[ <html> <head>     <title>An HTML Page</t
https://blog.csdn.net/myy2012/article/category/1414362 https://blog.csdn.net/xiarendeniao/article/details/20492167 http://www.runoob.com/lua/lua-tutorial.html  -- Lua菜鸟教程
Ruby中是否有内置方法来支持? 这并不完全符合您的问题,但它不会在Ruby中运行,但如果您在Rails中,则可以使用ordinalize将1转换为1,2到2等等. 例: 1.ordinalize # => "1st" 2.ordinalize # => "2nd" 3.ordinalize # => "3rd" ... 9.ordinalize # => "9th" ... 1000.ordin
很多软件都有程序启动界面,我在这就找到了2个比较特别的给大家看看: 这是VS2010旗舰版的启动界面,大家留意他的底部,是不规则的。   这是PS CS5的启动界面,整个界面呈现完全的不规则,很飘逸。   可是啊,我上来不是给大家看图片的,没错,教你如何用VB6.0做出各种各样奇形怪状的启动界面。 首先,我先介绍一下程序需要使用那些API函数,也不多: 1. Public Declare Func