#include <lua.h> //Lua语言解析器
#include <lualib.h> //Lua标准库
#include <lauxlib.h> //Lua辅助工具
char *code = "for i=0, 5 do print(\'Hello, world!\') end";
int main()
{
lua_State *s = luaL_news
[huangxw3@ubuntu]$cat main.lua -- call a C++ function avg, sum = average(10, 20, 30, 40, 50) print("The average is ", avg) print("The sum is ", sum) ============================= [huangxw3@ubuntu]$cat
[huangxw3@ubuntu]$cat main.lua -- call a C++ function avg, sum = average(10, 20, 30, 40, 50) print("The average is ", avg) print("The sum is ", sum) ============================= [huangxw3@ubuntu]$cat
--string.dump(function)。返回指定函数的二进制代码(函数必须是Lua函数,并且没有up value) --[[Example:将一个函数转换成二进制码,输出;再换回来,输出;再执行。 function DumpTest() print("string.dump test") end local a = string.dump(DumpTest)--将函数DumpTest转换成
之前都是看的lua脚本怎么写的,还有就是在之前的工作室仿照着写。没有真正懂LUA和C语言如何之间交互的。今天写了一个例子 首先我要实现的功能计算两个整数的和,就是x+y了。因为x和y是随时变化的,我又不想在C程序里修改,那么就把这两个参数放到lua脚本来传递。 那么我是如何实现的呢? 第一步:搭建window环境,使用vs2005 这个东西在网上搜索一下吧
1. main.c ----------------- //动态库 #include <stdio.h> #include <stdlib.h> #include <string.h> #ifdef _cplusplus extern "C"{ #endif #include <lua.h> #include <lauxlib.h> #include <lualib.h> static v
学习lua有一段时间了,今天终于学会了怎么使用元表,还有用lua表模拟类,综合实例讲解,用lua元表模拟C++模板和类
下面是我工作实践操作的实例,测试通过,非常容易扩展其他元方法 -- 源码
local SET = {} -- 模拟C++类
local mt = {} -- 元模板
--// 建立新表
function SET.new(tb)
local set = {}
setmetat
local coroutine_pool = { }
local coroutine_yield = coroutine.yield
local function dispatch(param)
print("function dispatch called", param)
end
local function resume_ret(...)
str = strin
table在Lua中唯一的数据结构,其它语言提供的各种数据结构Lua都是用table来实现的 。下面是一个C API操作table的例子。 #include <stdio.h> #include "lua.h" #include "lauxlib.h" #include "lualib.h" int main() { lua_State *L; L = luaL_
该例子用到一个Java文件,一个Lua脚本文件,引用了Apache commons.lang 第三方jar包,以及luajava.jar,相关jar包请自行下载。 LuaDemo.java package com.chilijoy.lua; import java.io.File; import java.util.Queue; import java.util.Random; import ja
local layer=CCLayer:create()
--多点触摸事件回调函数
local function onTouchsEvent(eventType,touchs)
--[[
eventType:触摸事件类型.
touchs:多点触摸的数组表,它的大小=n点触摸*3
]]
if eve
转自:http://univasity.iteye.com/blog/493339 代码来个人和自网络,仅供参考,如有纰漏请指正,欢迎交流。 01. 在AWT中的使用(来自文章《Java中使用Lua脚本语言 》) <!--StartFragment-->///////////////////////////////////////////////////// // Hello.java Jav
虽然上年暑假的时候,我看完了《lua程序设计》,那时候主要是把主要概念背熟,还有把几个面试要问的问题弄明白了,但实际上却很少写代码,写的lua代码可能都不超过1000行,哎,怪不得,才半年多,几乎所有东西都忘光了! 好吧,那现在就重新学一遍吧!这次就重在实践!而且那时候都是在VS2010上写代码的,由于趁着请假做毕业设计的时间,我学会了基本使用GCC和make,这次就可以脱离VS写
Mac: 1.安装Lua编译器 下载Lua, http://www.lua.org/; 解压后,cd进入该文件夹src目录下,修改Makefile里macosx后一行为 macosx: $(MAKE) all MYCFLAGS="-DLUA_USE_LINUX -arch i386" MYLIBS="-arch i386 -lreadline" 保存退出。 在当前文件夹执行make macosx
http://www.dujinfang.com/2010/03/14/zai-freeswitchzhong-zhi-xing-chang-qi-yun-xing-de-qian-ru-shi-jiao-ben-luayu-yan-li-zi.html 众所周知,FreeSWITCH中可以使用嵌入式的脚本语言javascript、lua等来控制呼叫流程。而更复杂一点操作可能就需要使用Event
第一个例子 将Lua脚本作为一个小型的简化版的“数据库”,展现了如何简单高效的将这个“数据库”中的数据转化为网页显示。 -- "db.lua"文件中内容。
--[[ 这里看似是一张名为"entry"的表中存储了许多数据, 实际上在转化程序中这时一个名为"entry"的函数, 参数是下面这个存储了许多数据的"table"。 还记得"foo({})"与"foo{}"等同吗?]]
entry{
server.lua socket = require("socket");
host = host or "127.0.0.1";
port = port or "8383";
server = assert(socket.bind(host, port));
ack = "ack\n";
while 1 do
print("server: waiting for client conn
了解lua setmetatable和__index的小例子 2013-01-04 11:45 11818人阅读 评论(0) 收藏 举报 分类: Lua(43) [cpp] view plain copy local _a1 = {20, 1, key1 = "hello", key2 = "world", lang = "lua"} print("the table _
Lua使用luasocket http请求例子 #!/usr/bin/env lua
local http=require("socket.http");
local request_body = [[login=user&password=123]]
local response_body = {}
local res, code, response_headers = ht
如果看懂了这个就能明白通过metatable在继承的意义,也能理解:和.的差异。 main.lua require("base")
require("actor")
function main()
local obj = actor.new("tiny")
obj:init()
obj:say_hi()
obj:work()
end
main() base.l