• Lua4.0中的函数


    把Lua4.0里面的函数总结出来,目的是为了和5.1中的函数进行区分,由于工作中经常使用到4.0中的函数,所以列出来也便于查询和学习

    标准库

    _ALERT

    _ERRORMESSAGE

    call

    collectgarbage
    功能:是垃圾收集器的通用接口,用于操作垃圾收集器

    copytagmethods


    dofile (filename)
    功能:打开并且执行一个lua块,当忽略参数filename时,将执行标准输入设备(stdin)的内容。返回所有块的返回值。当发生错误时,dofile将错误反射给调用者
    注:dofile不能在保护模式下运行

    dostring
    功能:执行一个字符串形式的lua块

    error (message [, level])
    功能:终止正在执行的函数,并返回message的内容作为错误信息(error函数永远都不会返回)
    通常情况下,error会附加一些错误位置的信息到message头部.
    Level参数指示获得错误的位置,
    Level=1[默认]:为调用error位置(文件+行号)
    Level=2:指出哪个调用error的函数的函数
    Level=0:不添加错误位置信息

    foreachi(table, function(i, v))
    功能:会期望一个从 1(数字 1)开始的连续整数范围,遍历table中的key和value逐对进行function(i, v)操作,与lua5.1中的用法相同

    foreach
    功能:与foreachi不同的是,foreach会对整个表进行迭代,与lua5.1中的用法相同


    gcinfo
    getflobal
    gettagmethod
    globals
    newtag
    next


    print (...)
    功能:简单的以tostring方式格式化输出参数的内容


    rawget
    rawset
    rawgettable
    rawsettable
    setglobal
    settag
    settagmethod
    tag

    tonumber (e [, base])
    功能:尝试将参数e转换为数字,当不能转换时返回nil
    base(2~36)指出参数e当前使用的进制,默认为10进制,如tonumber(11,2)=3

    tostirng(e)
    功能:将参数e转换为字符串,此函数将会触发元表的__tostring事件

    type(v)
    功能:返回参数的类型名("nil","number", "string", "boolean", "table", "function", "thread", "userdata")

    assert(v [, message])
    功能:相当于C的断言,
    参数:
    v:当表达式v为nil或false将触发错误,
    message:发生错误时返回的信息,默认为"assertion failed!"

    getn(table)
    功能:返回table中元素的个数,用法与lua5.1中的table.getn相同

    sort(table, function)
    功能:给定的table进行升序排序,用法与lua5.1中的table.sort相同

    tinsert(table, [pos,] value)
    功能:向table中插入一个元素,用法与lua5.1中的table.insert相同

    tremove(table[, pos])
    功能:删除table中的某一元素,用法与lua5.1中的table.remove相同

    --------------------------------------------------------

    输入输出库 io库

    colck
    功能:返回一个程序使用CPU时间的一个近似值,同lua5.1中使用方法

    date
    功能:功能:返回一个按format格式化日期、时间的字串或表,同lua5.1中使用方法

    execute
    功能:相当于C的system函数,返回系统状态码,同lua5.1中使用方法

    exit
    功能:相当于C的exit函数,终止主程序,code为返回值,同lua5.1中使用方法

    getenv
    功能:返回当前进程的环境变量varname的值,若变量没有定义时返回nil,同lua5.1中使用方法

    remove
    功能:删除文件或一个空目录,若函数调用失败则返加nil加错误信息,同lua5.1中使用方法

    rename
    功能:更改一个文件或目录名,若函数调用失败则返加nil加错误信息,同lua5.1中使用方法

    setlocale
    功能:设置程序的当前设置,函数返回最新的值,失败则返回nil,同lua5.1中使用方法

    tmpname
    功能:返回一个临时文件名,同lua5.1中使用方法

    debug

     功能:进入交互式的调试模式,解释我们的输入,输入cont回车就退出

    appendto


    openfile(file, mod)
    功能:打开一个文件,返回一个文件句柄。有两个参数,文件名和打开模式
    参数:file文件名
    参数:mode有下列几种形态字符串: 
    r 打开只读文件,该文件必须存在。 
    r+ 打开可读写的文件,该文件必须存在。 
    rb+ 读写打开一个二进制文件,只允许读写数据。
    rt+ 读写打开一个文本文件,允许读和写。
    w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 
    w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 
    a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。 
    a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 
    wb 只写打开或新建一个二进制文件;只允许写数据。
    wb+ 读写打开或建立一个二进制文件,允许读和写。
    wt+ 读写打开或着建立一个文本文件;允许读写。
    at+ 读写打开一个文本文件,允许读或在文本末追加数据。
    ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

    例如:
    local f = openfile("abc.txt", "rb")


    closefile(f)
    功能:关闭打开文件的句柄

    read(f, readtype)
    功能:从一个打开的文件中读取数据。
    参数:f是打开的文件句柄
    参数:readtype表示要读取的方式
    "*a"表示读取整个文件内容
    "*l"表示读一行
    "*n"表示读一个数字
    "*w"表示读一个单词

    例如:
    local f = openfile("d:\test\test\test.cpp", "rb");
    assert(f)
    local data = read(f, "*l");
    print(data)

    输出:this is the first line!

    readfrom

    seek(file, seekmod, pos)
    功能:移动文件指针
    参数:f是打开的文件句柄
    参数:移动模式
    set是设置指针移动的位置,第三个参数是具体要移动的位置
    cur是从指针当前位置移动,第三个参数是具体要移动的位置,可以为负,表示前移
    end是移动到文件结果,无第三个参数

    例如:
    local f = openfile("d:\test\test\test.cpp", "rb");
    seek(f, "set", 10);
    seek(f, "cur", 8);
    seek(f, "end");
    local data = read(f, "*l");
    print(data);
    closefile(f);


    write(file, data)
    功能:向一个文件中写入数据
    参数:文件句柄
    参数:要写入文件的数据

    例如:
    local f = openfile("d:\readme.txt", "wb");
    assert(f)
    write(f, "abcde")
    closefile(f)

    writeto

    flush(f)
    功能: 清除文件缓冲区,文件以写方式打开时将缓冲区内容写入文件

    --------------------------------------------------------

    数学库 math库

    abs
    功能:取绝对值

    sin
    功能:正弦函数

    cos
    功能:余弦函数

    tan
    功能:正切函数

    asin
    功能:反正弦函数

    acos
    功能:余弦函数

    atan
    功能:反正切函数

    atan2
    功能:x / y的反正切值

    ceil
    功能:不小于x的最大整数

    floor
    功能:不大于x的最大整数

    mod
    功能:取模运算

    frexp
    功能:把双精度数val分解为数字部分(尾数)和以2为底的指数n,即val=x*2n

    ldexp
    功能:计算value * 2的n次方

    sqrt
    功能:开平方函数

    min
    功能:取得参数中最小值

    max
    功能:取得参数中最大值

    log
    功能:计算一个数字的自然对数

    log10
    功能:计算以10为基数的对数

    exp
    功能:计算以e为底x次方值

    deg
    功能:弧度转角度

    rad
    功能:角度转弧度

    random
    功能:获取随机数

    randomseed
    功能:设置随机数种子

    ============================================================

    字符串库 string库


    strlen(str)

    功能:获得字符串的长度

    strlen("abcdefghijklmn")

    输出:14

    ---------------------------------------

    strsub(str, nStart, nEnd)

    功能:截取字符串

    strsub("abcdefghijklmn", 4, 7)

    输出:defg

    ---------------------------------------

    strlower(str)

    功能:字符串转小写

    strlower("AbCdEFg")

    输出:abcdefg

    ---------------------------------------

    strupper(str)

    功能:字符串转大写

    strupper("AbCdEFg")

    输出:ABCDEFG

    ----------------------------------------

    strchar(byte1, byte2, ..)

    功能:数字转字符串

    strchar(97, 98, 99)

    输出:abc

    ----------------------------------------

    strrep(str, nCount)

    功能:返回一个指定数目拼接在一起的字符串

    strrep("hello", 5)

    输出:hellohellohellohellohello

    ---------------------------------------

    ascii(str)

    功能:字符串转数字
    注意:若传入多个字符组成的字符串,只返回第一个字符的ascii码

    ascii("a")
    ascii("abc")

    输出:97
    ---------------------------------------

    strbyte(str)

    功能:字符串转数字
    注意:若传入多个字符组成的字符串,只返回第一个字符的ascii码

    strbyte("a")
    strbyte("abc")

    输出:97
    ------------------------------------------

    format(str, "格式化字符串")

    功能:返回一个指定格式的格式化字符串

    format("%s is %s ,has %s apples!", "Henry", "farmer", 19)

    输出:Henry is farmer ,has 19 apples!

    -----------------------------------------------------------

    strfind(str, substr[, nStart])

    功能:查找一个字符串在另一个字符串中的位置,参数3可以指定开始查找的位置

    strfind("aaa  hello, mike! hello", "hello", 8)

    输出:19  23

    ------------------------------------------------------------

    gsub(str, perttem, repl[, n])

    功能:在str查找等于或类似perttem格式的字符串,用repl替换,参数4可选,为替换的次数
    注意:该函数支持字符串匹配操作,返回的第2个值表示替换了多少次

    gsub("hello, world", "%w+", "xxx")

    输出:

    xxx, xxx 2

    --------------------------------------------------------

    调试库 debug库

    getlocal
    getinfo
    setcallhook
    setlinehook
    setlocal

  • 相关阅读:
    Redis底层探秘(二):链表和跳跃表
    Redis底层探秘(一):简单动态字符串(SDS)
    C#进阶之路(六):表达式进行类的赋值
    C#异步编程(五)异步的同步构造
    C#异步编程(四)混合模式线程同步
    C#异步编程(三)内核模式线程同步
    Redis五种数据类型
    C#异步编程(二)用户模式线程同步
    前端面试题整理—jQuery篇
    前端面试题整理—JavaScript篇(一)
  • 原文地址:https://www.cnblogs.com/Belong/p/5124682.html
Copyright © 2020-2023  润新知