您的位置:首页 > 编程语言 > Lua

lua的标准库函数

2014-04-04 14:34 330 查看


LUA的标准库函数

2011-11-11〇点十九分53秒

数学函数库math.abs(x)的返回x的绝对值math.acos(x)的返回x的反余弦值(以弧度计)math.asin(x)的math.atan(x)的math.atan2(Y,X )返回y / x的反正切值(以弧度表示),但使用这两个参数的符号来找到结果的象限。(它也处理正确的x是零的情况。)math.ceil(x)的返回大于等于x的最小整数math.cos(x)的返回以弧度计的x的余弦值math.cosh(x)的math.deg (x)的将所给的弧度转化为角度math.exp(x)的返回值前。math.floor(x)的返回小于等于x的最大的整数math.fmod(X,Y)返回除法的余数x除以y表示四舍五入商趋向于零。的math.frexp(x)的返回m和e,使得x
= M2E,e是一个整数,m的绝对值的范围是[0.5,1)(或为零时x是零)。math.huge 值HUGE_VAL,大于或等于任何其他数值的值。math.ldexp(M,E)返回M2E(E应为整数)。将Math.log(x)的自然对数math.log10(x)的math.max(X,···)math.min(X,···)返回所有参数中最小的一个math.modf(x)的返回两个值中,x的整数部分和小数部分math.pi返回圆周率math.pow(X,Y)返回XY。(您也可以使用表达式x ^ y以计算该值。)math.rad(倍)将以角度给出的x转化为弧度math.random([M
[,n])的三种用法1.random( )返回0到1之间的一个伪随机数2.random(N)返回1到Ñ之间的伪随机整数3.random(M,N)返回米到Ñ之间的伪随机整数math.randomseed( x)的设定x作为“种子”为伪随机数发生器:平等的种子生产数相等的序列数学。黄大仙(x)的math.sinh(x)的的Math.sqrt(X)X的平方根值(等同于x ^ 0.5)math.tan(x)的math.tanh 字符串库提供的字符串表里面的所有功能。它还设置一个metatable中的字符串,其中__索引字段指向字符串表。因此,您可以在面向对象风格使用字符串函数。例如,string.byte(S,I)可以写成S:字节(I)的字符串库假设一个字节的字符编码。string.byte(S
[,I [,j]的)将字符转化为对应的整数,默认的我是1,默认的Ĵ是我。string.char(···)将整数转化为字符串。string.dump(函数)返回一个包含给定函数的二进制表示的字符串,从而使在这个字符串后面的加载链返回函数的一个副本。函数必须是一个Lua函数不上值。string.find(S,图案[时,init [,(格式字符串,···),按照它的第一个参数(该参数必须是字符串)给出的描述返回其可变数目的参数的格式化版本,其格式字符串遵循相同的规则的标准C函数printf系列的唯一的区别是,该选项/修饰符*,L,L,N,P和h不支持,并且有一个额外的选项,Q的q选项格式化字符串在适当的形式安全地被读回Lua解释:字符串写入双引号,和所有双引号,换行,嵌入式零,然后将字符串中的反斜杠之间正确地转义写入时,例如呼叫。 与String.Format(“%Q','一个字符串“引号”和\
n换行“)将产生的字符串: “一个字符串\”引号\“和\ 新行“ 选项C,D,E,E,F,G,G,I,O,U ,x和X都期望一个数字作为参数,而q和s期待一个字符串。这个函数不接受包含嵌入式零字符串值,除了作为参数传递给q选项。string.gmatch(S,图案)返回一个迭代器函数,每次调用时,返回下一个从捕获模式在字符串s。如果模式没有指定捕获,那么整个比赛是产于每个呼叫。作为一个例子,下面的循环 S =“你好世界从Lua” 的瓦特在string.gmatch(S,“%A
+”)做 打印(W) 年底将遍历从字符串s中的所有单词,打印每行一个。接下来的示例收集所有对的key = value从给定的字符串转换成一个表: T = {} S =“从=世界,=的Lua” 的K,V在string.gmatch(S,“(%W +)=( %W +)“)做 T(K)= V 到底对于这个功能,一个'^'在模式开始作为一个锚不起作用,因为这会阻止迭代。string.gsub(S,图案,REPL [,N])返回第,所有(或前n,如果有)出现的格局已被替换为repl所指定的替换字符串,它可以是一个字符串,一个表或一个函数的副本。gsub函数也返回,作为它的第二个值,匹配的发生。总数如果REPL是一个字符串,那么它的值是用于替换。字符%可以作为一个转义字符:在窗体%的n
REPL任何序列,用1至9之间N,代表第n个捕获子字符串的值(见下文)。序列%0代表整个匹配。序列%%表示一个%。如果REPL是一个表,则该表中查询每一场比赛,用第一次捕捉为重点; 如果模式没有指定捕获,然后整场比赛被用作键。如果REPL是一个函数,那么这个函数被调用每一个匹配发生时,与作为参数传递的所有捕获的子串,在秩序; 如果模式没有指定捕获,然后整场比赛被传递作为唯一的参数。如果由表查询,或通过函数调用的返回值是一个字符串或者一个数字,那么它被用作替换的字符串; 否则,如果它是假的或为零,那么有没有替代(也就是原来的比赛保持在字符串中)。下面是一些例子: X
= string.gsub(“世界你好”,“(%W +)” ,“%1%1”) - > X =“你好你好世界世界” X = string.gsub(“世界你好”,“%W +”,“%0%0”,1) - > X =“你好你好世界“ X = string.gsub(“你好世界从Lua”,“(%W +)%S *(%W +)”,“%2%1”) - > X =“世界你好Lua中的” x = string.gsub(“家= $ HOME,用户= $ USER”,“%$(%W
+)”,os.getenv) - > X =“家= /家庭/罗伯托,用户=罗伯托” X =字符串。gsub函数(“4 +5 = $回报4 +5 $”,“%$( - )%$”功能(S) 返回加载链(S)() 结束) - > X =“4 +5 = 9“ 本地T = {名称=“LUA”,版本=“5.1”} X = string.gsub(“$名称$ VERSION.tar.gz为”,“%$(%W +)”,T) - > X =“LUA-5.1.tar.gz”
string.len(次)接收一个字符串并返回它的长度。空字符串“”的长度为0。嵌入式零计数,所以“一\ 000bc \ 000”的长度是5。string.lower(次)接收一个字符串并返回此字符串的一个副本,其中所有大写字母改为小写。所有其它字符保持不变。的大写字母是什么的定义取决于当前的语言环境。string.match(S,图案[时,init])中查找的第一个模式匹配字符串s中。如果找到一个,然后返回匹配的模式捕获; 否则返回nil。如果模式没有指定捕获,那么整个比赛返回。第三,可选的数字参数初始化指定从哪里开始搜索;
它的默认值是1,可以是负的。函数string.rep(S,N)返回一个字符串,它的n个拷贝的字符串s。的级联string.reverse(S)返回一个字符串,该字符串是字符串s逆转。字符串。子(S,I [,j]的)返回第,在我开始并一直持续到j中的子串; i和j可以是负的。如果j为不存在,则假定为等于-1(它是相同的字符串的长度)。特别是,调用string.sub(S,1,J)返回长度为j个前缀,string.sub(S,-i)返回s后缀带长度i。string.upper(次)接收一个字符串,并返回此字符串的一个副本,其中所有小写字母改为大写。所有其它字符保持不变。一个小写的字母是什么的定义取决于当前的语言环境。5.4.1
-模式字符类:字符类是用于表示一组字符。下面的组合都是允许在描述一个字符类:X:(?其中x是不是神奇的字符^ $ 1()%[] * + - )代表字符x本身。:(一个点)代表所有字符。%一:代表所有的字母。%c:表示所有的控制字符。%D:代表所有的数字。%L:表示所有小写字母。%P:代表所有的标点字符。%S:代表所有的空格字符。%U :代表所有大写字母。%W:代表所有字母数字字符。%X:代表所有的十六进制数字%Z:代表性格与代表0。%x:(其中x是任意非字母数字字符)表示字符x。这是为了躲避魔法字符的标准方式。。任何标点字符(甚至非魔法)时,可以用来表示自己在一个模式在前面加一个“%”
指的是在集中的所有字符工会的类:[设置]。“ - ”字符的范围可以通过用分离的范围的结束字符指定。所有的类%×如上所述,也可以用来作为在套组件。在集合中的所有其他字符代表自己。例如,[%W_](或[_%W])代表所有字母数字字符加下划线,[0-7]表示八进制数字,[0-7%L% - ]表示八进制数字加上小写字母加上' - '字符的范围和类之间的相互作用没有被定义。因此,像[%AZ]或[A-%%]的模式没有任何意义。[^组]:代表组,其中一组被解释为上面的补。对于由单个字母表示的所有类(%A,%C等),对应的大写字母表示的类的补充。例如,%S代表所有非空格字符。字母的定义,空间,和其他字符组依赖于当前的语言环境。尤其是类[AZ]可能不等同于%L。模式项目:一个模式项目可以是单个字符类,在类匹配任何单个字符,一个字符类后跟'*',它匹配0个或多个重复的类的人物。这些重复的项目总是会匹配尽可能长的序列,一个字符类后跟“+”,这在类匹配1次或多次重复字符。这些重复的项目总是会匹配尽可能长的序列,一个字符类其次是'
- ',这也是在类匹配0或多次重复字符。不像'*',这些重复的项目将总是匹配最短的序列; 一个字符类其次,它匹配0或1个发生在类一个字符'?'; %N,1和9之间N; 这样的条目相匹配的子串等于第n捕获的字符串(见下文); %BXY,其中x和y是两个不同的字符; 这样的产品相匹配的开始的x,一端与y弦线,并且其中x和y是平衡的。这意味着,如果一个读取从左至右,对于一个x和-1唉计数1的字符串,则结束y是其中计数达到0的第一个y。例如,项目%B()与平衡括号匹配表达式。图案:图案是花纹的项目序列。A'^'在模式开始锚定比赛在目标字符串的开头。A'$'在一个模式的结尾锚的比赛在目标字符串的结尾。在其它位置,'^'和'$'没有特殊的含义,代表自己。捕获:一个模式可以包含子模式用括号括起来;
他们描述捕获。当匹配成功,目标字符串的匹配捕获的子字符串存储(捕获)以备将来使用。捕获按照其左括号的编号。例如,在模式“(一*()%(重量)(%S *))”,该字符串匹配的部分“A *()%(重量)(%S *)”存储在第一个捕获(因此具有编号1); 字符匹配“。” 捕获与数字2,和部分匹配的“%S *”有号码3。作为一个特殊的情况下,空捕获()捕获当前字符串位置(数字)。举例来说,如果我们应用模式“()AA()”的字符串“flaaap”,会有两个捕获:3和5 的图案不能包含嵌入的零。使用%Z来代替。

string.format("%e", 1000) 输出1.000000e+03 string.format("%E", 1000) 输出1.000000E+03 string.format("%6.3f", 13) 输出13.000 string.format("%q", "One\nTwo") 输出"One\ Two" string.format("%s",
"monkey") 输出monkey string.format("%10s", "monkey") 输出 monkey string.format("%5.3s", "monkey") 输出 mon
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: