码迷,mamicode.com
首页 > 其他好文 > 详细

Lua中返回值的丢失问题

时间:2018-07-03 14:40:35      阅读:278      评论:0      收藏:0      [点我收藏+]

标签:string   str   指定   int   表达   ali   16进制   数字   一个   

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中返回值的丢失问题

标签:string   str   指定   int   表达   ali   16进制   数字   一个   

原文地址:https://www.cnblogs.com/mengmengxia/p/9257699.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!