<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="http://css3.sinriv.com/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://css3.sinriv.com/feed.php">
        <title>CSS3 Dot TOP 编程:lua:capi</title>
        <description></description>
        <link>http://css3.sinriv.com/</link>
        <image rdf:resource="http://css3.sinriv.com/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-06-03T06:38:23+0800</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0?rev=1565276425"/>
                <rdf:li rdf:resource="http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E9%81%8D%E5%8E%86?rev=1565276162"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://css3.sinriv.com/lib/tpl/dokuwiki/images/favicon.ico">
        <title>CSS3 Dot TOP</title>
        <link>http://css3.sinriv.com/</link>
        <url>http://css3.sinriv.com/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0?rev=1565276425">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-08T23:00:25+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>编程:lua:capi:回调函数</title>
        <link>http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0?rev=1565276425</link>
        <description>将函数作为参数

保存lua函数：

int callback=luaL_ref(L,LUA_REGISTRYINDEX);
调用：

lua_settop(L,0); 
lua_rawgeti(L,LUA_REGISTRYINDEX,callback); 
if(!lua_isfunction(L,-1)){ 
    lua_pop(L,1); 
    return; 
} 
lua_pushlightuserdata(L,self);//传入参数
lua_pcall(L, 1, 0, 0);//调用</description>
    </item>
    <item rdf:about="http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E9%81%8D%E5%8E%86?rev=1565276162">
        <dc:format>text/html</dc:format>
        <dc:date>2019-08-08T22:56:02+0800</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>编程:lua:capi:遍历</title>
        <link>http://css3.sinriv.com/%E7%BC%96%E7%A8%8B:lua:capi:%E9%81%8D%E5%8E%86?rev=1565276162</link>
        <description>遍历数组

格式如下：

 int len=luaL_len(L,-1);
 for(int i=1;i&lt;=len;i++){
     lua_rawgeti(L,-1,i);
     //do something...
     //此时数据位于-1位置
     lua_pop(L,1);
 }
遍历表
lua_pushnil(L);
while (lua_next(L, -2)) {
  // 此时栈上 -1 处为 value, -2 处为 key
  //do something...
  lua_pop(L, 1);
}</description>
    </item>
</rdf:RDF>
