io.popen()##
- 原型:io.popen ([prog [, mode]])
- 解释:在额外的进程中启动程序
prog ,并返回用于prog的文件句柄。通俗的来说就是使用这个函数可以调用一个命令(程序),并且返回一个和这个程序相关的文件描述符,一般是这个被调用函数的输出结果,这个文件打开模式由参数mode 确定,有取值"r" 和"w" 两种,分别表示以读、写方式打开,默认是以读的方式。
string.gsub()##
- 原型:string.gsub (s, pattern, repl [,m])
- 解释:这个函数会返回一个替换后的副本,原串中所有的符合参数
pattern 的子串都将被参数repl 所指定的字符串所替换,如果指定了参数m ,那么只替换查找过程的前m 个匹配的子串,参数repl 可以是一个字符串、表、或者是函数,并且函数可以将匹配的次数作为函数的第二个参数返回,接下来看看参数repl 的含义:
- 如果参数
repl 是一个常规字符串,成功匹配的子串会被repl 直接替换,如果参数repl 中包含转移字符% ,那么可以采用%n 的形式替换,当%n 中的n 取值1-9时,表示一次匹配中的第n个子串,当其中的n 为0时,表示这次匹配的整个子串,%% 表示一个单独的% 。
- 如果参数
repl 是一个表,那么每次匹配中的第一个子串将会作为整个表的键,取table[匹配子串]来替换所匹配出来的子串,当匹配不成功时,函数会使用整个字符串来作为table的键值。
- 如果参数
repl 是一个函数,那么每一次匹配的子串都将作为整个函数的参数,取function(匹配子串)来替换所匹配出来的子串,当匹配不成功时,函数会使用整个字符串来作为函数的参数。如果函数的返回值是一个数字或者是字符串,那么会直接拿来替换,如果它返回false 或者nil ,替换动作将不会发生,如果返回其他的值将会报错。
|
请发表评论