lua learning
https://www.runoob.com/lua/lua-miscellaneous-operator.html
data struture:
nil
boolean
number: 双精度的实浮点数
string
funcion: 由C或lua编写的函数
userdata: 任意存储在变量中的C数据解雇
thread: 表示执行的独立线路,用于执行协同程序
table: 关联数据
type() 查看类型
variable
global
local
表中的索引 A.b, A[b], gettable_event(t, i)
loop
while (true) do 执行体 end
do () while() end
for
数值
for var=exp1, exp2, exp3 do 执行体 end
泛型循环 相当于foreach
for i, v in ipairs(a) do print(i, v) endfor k, v in pairs(table) do print(k, v) end
if: process cont ...
Lua Learning Notes
注释
-- 单行注释
–[[
多行注释
]]
变量
a = "string"
b = 10
b = nil -- 'b' deleted
local c = 0
变量没有类型, 默认为全局变量, 使用local关键字声明局部变量, 要删除变量只需要将其赋值为nil即可
a, b = 10, 3 * 5 -- 同时赋值多个变量
print(a..','..b) -- '10, 15', 用..连接字符串
x, y = y, x -- 交换变量的值
a['x'], a['y'] = a['y'], a['x']
a, b = f() -- 将函数f()返回的两个值分别赋给变量a, b
对多个变量同时赋值时, 会先计算等号右侧数据再进行赋值, 可以这样来交换变量的值
当等号右侧值不够时, 会赋值为nil, 当等号右侧值过多时, 会自动忽略
数据类型
nil boolean number string userdata function thread t ...
lua
LuaInterface 库LuaInterface下载地址
LuaInterface是一个用于在Lua语言和Microsoft .NET平台的公共语言运行时(CLR)之间集成的库。 Lua脚本可以使用它来实例化CLR对象,访问属性,调用方法,甚至使用Lua函数处理事件。
LuaInterface.Lua类是CLR访问Lua解释器的主要接口,一个LuaInterface.Lua类对象就代表了一个Lua解释器(或Lua执行环境),Lua解释器可以同时存在多个,并且它们之间是完全相互独立的。
示例在 C# 中调用 Lua1234567891011MyMath = {}MyMath.Name = "MyMath"MyMath.PI = 3.1415function (first, second) return first+secondendreturn MyMath
1234567891011121314151617181920212223242526272829303132// Program.csusing System;using LuaInterface;c ...
用 lua 模拟面向对象 · dcf's blog
categories:
programming
|
tags:
lua
oo
</span>
一些语言本身是没有面向对象这一说的,类似 lua, js。但是平时使用时,往往会利用语言上的特性来模拟 OO。 初学lua,也看了很多网上的资料、博客,一直不是很理解,只是照猫画虎。现在理解地差不多了,记录一下。
lua 用的是其强大的 table,可以简单地理解为 hash + array。作为 OO,我们需要模仿的有类和对象,每个对象有属性和方法。
首先我们用 table 模拟一个类,这个类有一个 new 的方法,可以生成一个对象,这个对象我们依然使用 table 进行模拟。这里的 new 并不像 c++ 中有特殊的含义,这是一个函数名,可以叫做任何名字,例如 create
Student = {}
function Student.new(name, age)
local obj = {} -- 创建一个对 ...
在Lua中调用C函数
Lua调用C语言中的函数是通过栈来进行参数传递的,这与大部分编程语言的内部函数调用的实现一致。我们先实现如下C代码123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384#include <lualib.h>#include <lauxlib.h>#include <stdio.h>#include <sys/time.h>static int (lua_State * L){ double a = luaL_checknumber(L, 1); printf("第一个参数:%fn", a); // 获取第二个函数参数 double b = luaL_checknumber(L, 2); printf("第二个参数:%f ...
The Evaluation of Sentence Similarity
I am trying to write my first english blog based on two reasons: First, the data set used in this blog is english; Second, I’d like to expand my reach and attract more audiences, although I should admit that nobody cares.
DataInitially I want to use chinese corpus, but I cannot find a proper one. The data should sound like this one:
word1 word2 similarity score阿拉伯人 阿拉伯 7.2畜产 农业 5.6垂涎 崇敬 3.4次序 秩序 4.7定心丸 药品 4.3房租 价格 5.2翡翠 宝石 6.7高科技 技术 7.5购入 ...
Lua的require机制
今天仔细读了文档,弄清楚了Lua的模块require机制。
Lua是通过require函数来加载模块的,只需提供模块的名字,即可通过require(modname)来加载模块。
Lua是如何通过modname来载入.lua或.so的呢?
默认加载过程
package.loaded[modname]中存了模块的数据,有则直接返回
顺序遍历package.searchers,获取loader
package.preload[modname]
Lua Loader, 通过package.searchpath搜索package.path
C Loader, 通过package.searchpath搜索package.cpath
All-In-One loader
调用loader载入模块
将载入结果保存至package.loaded[modname]并返回结果
可用lua模拟载入过程:
function findloader(modname)
loc ...
FDDB datasets and evaluation · KaLyo's Notes
DATASETS人脸数据集,有大约2800多张图片。这里主要讲其用于人脸检测的部分。这个数据集也可以用于做人脸对齐(face alignment)
数据集主要来自于网络上新闻媒体里的图片。经过相似图片剔除后留下大约2800多张。分为10个folder,每个folder300张左右。
EVALUATION接受输入人脸检测上的评测接受两种类型的输入。
一种是常用的矩形框,包括faster rcnn等目前绝大多数人脸检测算法输出都是矩形框。共有5个参数,包括矩形的4个参数以及置信度confidence。
另一种是椭圆框。FDDB给出的ground truth就是椭圆框。以6个参数表示,5个参数表示椭圆,长轴,短轴,中心点坐标以及旋转角度。第六个参数置信度confidence。
评价标准以两条ROC曲线作为FDDB数据集上的评价标准。
ContROC (连续)
DiscROC (离散)
这两条曲线的横轴都是FP(false positive),也就是误检的意思。在人脸检测中,就是说,算法标出了某个框的位置,但是这个框实际上并不存在人脸。所以,对于一个好的算法,这个值应该低,这个用于限制 ...
深入 Lua Garbage Collector(五)
有了前几天的基础,我们可以从顶向下来读 lua gc 部分的代码了。慢慢的,感觉我这个系列都可以叫跟着云风一起看Lua源码了,虽然自己看的是最新的5.3。挖个坑,之后应该会真的跟着云风大大的那本readinglua一起看完lua的最新源码。
lua_gc我们知道,lua 对外的 API 中,一切和 gc 打交道的都通过 lua_gc 。C 语言构建系统时,一般不讲设计模式。但模式还是存在的。若要按《设计模式》中的分类,这应该归于 Facade 模式。代码在 lapi.c 的 1011 行:
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970** Garbage-collection function*/LUA_API int (lua_State *L, int what, int data) { int res = 0; global_State *g; lua_l ...
初识lua
资源下载源代码网址
lua-protobuf源代码文档
lua-protobuf源代码下载
Git Clone代码到本地: 复制代码
git clone http://www.github.com/starwing/lua-protobuf
Subversion代码到本地: 复制代码
svn co –depth empty http://www.github.com/starwing/lua-protobuf
Checked out revision 1.
cd repo
svn up trunk
用法protoc 模块函数返回描述
1234567891011121314protoc.new() Proroc对象 创建新的编译器实例protoc.reload() true 将所有google标准消息重新加载到 pb 模块中p:parse(string) 表格 将架构转换为 DescriptorProto 表p:parsefile(string) 表格 类似 p:parse(),但接受文件名p:compile(string) 字符串 将架构转换为二进制 *.pb 格式数据 ...