- 必要知识:字符编码
- lua中for的原理(描述中有不对的地方望见谅)
-
《Lua程序设计 第四版》P201
- 对 in 后面的表达式[f()…end]求值, 表达式应该返回3个值,由for保存:
a. 迭代函数 (总重要,也是必须返回的)
b. 不可变状态
c. 控制变量的初始值
此过程类似多重赋值,只有最后一个表达式能够产生不止一个值。 - for使用不可变状态和控制变量为参数来调用迭代函数。
a. 不可变状态对for而言没什么意义,只是把此值传递给迭代器
b. for会把迭代器的返回值赋给变量列表中声明的变量。第一个返回值作为控制变量,如果控制变量是nil循环终止,否则就继续调用迭代函数
- 对 in 后面的表达式[f()…end]求值, 表达式应该返回3个值,由for保存:
- 代码实例:
- 部分代码为网友提供,谢谢各位大大
local UTF8Changer = {
}
local function chsize(char)
if not char then
--print("not char")
return 0
elseif char > 240 then
return 4
elseif char > 225 then
return 3
elseif char > 192 then
return 2
else
return</