Lua中返回值的丢失问题

Posted mengmengxia

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua中返回值的丢失问题相关的知识,希望对你有一定的参考价值。

Lua中返回值的丢失问题

-- 如果函数调用所得的多个返回值是另外一个函数的最后一个参数,或者是多指派表达式中的最后一个参数时,所有返回值将被传入或使用。
-- 否则只有第一个返回值被使用或指定。

1 ToRGB = function (ys)
2 local red = string.sub(ys,1,2)
3 local green = string.sub(ys,3,4)
4 local blue = string.sub(ys,5,6)
5 red = tonumber(red,16) --将16进制的字符串red 转换为数字即十进制
6 green = tonumber(green,16)
7 blue = tonumber(blue ,16)
8 return red,green,blue
9 end

-- 如果函数调用所得的多个返回值 是 另外一个函数的最后一个参数 。否则,只有第一个返回值被指定或使用)

1 print("数学","机器人",ToRGB("FFCC99")) -- 输出 “数学”,“机器人”,255,204,153
2 print("数学",ToRGB("FFCC99"),"机器人") -- 输出 “数学”,255,“机器人”

-- 是多指派表达式中最后一个参数时,所有返回值将被传入或使用 。否则,只有一个返回值被指定或使用

1 x,y,z,w = "语文",ToRGB("FFCC99") -- 返回值全部被传入和使用
2 a,b,c,d = ToRGB("FFCC99"),"语文" -- 只有第一个返回值被指定或使用
3 print(x,y,z,w) -- 语文    255    204    153
4 print(a,b,c,d) -- 255    语文    nil    nil

以上是关于Lua中返回值的丢失问题的主要内容,如果未能解决你的问题,请参考以下文章

lua入门之二:c/c++ 调用lua及多个函数返回值的获取

当返回到“导航架构组件”中的同一选项卡时,嵌套片段的状态会丢失

从使用 wkwebview 返回值的 javascript 调用 swift 函数

在片段着色器中丢失纹理定义

配置更改后片段丢失过渡动画

lua学习之类型与值篇