zoukankan      html  css  js  c++  java
  • lua部分 tips

    lua文件刷新

    function require_ex( _mname )
        if _mname == "" then
            return
        end
      if package.loaded[_mname] then
      end
      package.loaded[_mname] = nil
      require( _mname )
    end

    lua字符串分割

    function Split(szFullString, szSeparator)  
        local nFindStartIndex = 1  
        local nSplitIndex = 1  
        local nSplitArray = {}  
        while true do  
           local nFindLastIndex = string.find(szFullString, szSeparator, nFindStartIndex)  
           if not nFindLastIndex then  
                nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, string.len(szFullString))  
                break  
           end  
           nSplitArray[nSplitIndex] = string.sub(szFullString, nFindStartIndex, nFindLastIndex - 1)  
           nFindStartIndex = nFindLastIndex + string.len(szSeparator)  
           nSplitIndex = nSplitIndex + 1  
        end  
        return nSplitArray  
    end  

    第二种
    1. function split(str, reps)  
    2.     local resultStrsList = {};  
    3.     string.gsub(str, '[^' .. reps ..']+', function(w) table.insert(resultStrsList, w) end );  
    4.     return resultStrsList;
    5. end 
     

    遍历lua数组

    方法一,可以用for来遍历:
    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
    do  
        table_week = {  
        "w",  
        "e",  
        "r",  
        "t",  
        "y",  
        "u",  
        "i",  
        }  
      
        for i = 1, #table_week do  
            print(table_week[i])  
        end  
    end  
    
    #后面接一个数组或者tabe来遍历它,i是该table或者数组的起始下标。
    方法2:
    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
    do  
        table_week = {  
        "w",  
        "e",  
        "r",  
        "t",  
        "y",  
        "u",  
        "i",  
        }  
        for i, v in pairs(table_week) do  
            print(i)  
        end  
    end  
    
    这种是采用迭代器的方式遍历的,i为下标,v为table或者数组的值。
    
    方式3:
    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
    do  
        table_week = {  
        "w",  
        "e",  
        "r",  
        "t",  
        "y",  
        "u",  
        "i",  
        }  
        for i in pairs(table_week) do  
            print(i);  
        end  
    end  
    
    i为table或者数组的下标。
    
    方式4:
    [cpp] view plaincopy在CODE上查看代码片派生到我的代码片
    do  
    table_view = {  
        "w",  
        "e",  
        "r",  
        color1 = "red",  
        color2 = "blue",  
        {"a1", "a2", "a3"},  
        {"b1", "b2", "b3"},  
        {"c1", "c2", "c3"},  
    }  
    for i, v in pairs(table_view) do  
        if type(v) == "table" then  
            for new_table_index, new_table_value in pairs(v) do  
                print(new_table_value)  
            end  
        else  
            print(v)  
        end  
    end  
      
    end  
    
    注:type(v)
    功能:返回参数的类型名("nil""number", "string", "boolean", "table", "function", "thread", "userdata")
  • 相关阅读:
    前端面试题六
    前端面试题五
    前端面试题四
    前端面试题之三
    前端面试题分享二
    前端面试题分享一
    JS学习笔记一
    git使用学习笔记一
    常见User-Agent
    ado.net之SQLServer和Oracle (sys_cursor) 数据库链接——获取结果集方式对比
  • 原文地址:https://www.cnblogs.com/howeho/p/4213695.html
Copyright © 2011-2022 走看看