String lua检查多个值是否相等
我喜欢用Roblox做游戏,用lua编写代码。对游戏进行编码时,我发现自己在问一个值是否等于另一个值,这会产生很长的代码行,并且会有相当多的重复String lua检查多个值是否相等,string,if-statement,properties,lua,roblox,String,If Statement,Properties,Lua,Roblox,我喜欢用Roblox做游戏,用lua编写代码。对游戏进行编码时,我发现自己在问一个值是否等于另一个值,这会产生很长的代码行,并且会有相当多的重复 例如:如果x.ClassName=='Shirt'或x.ClassName=='associty'或x.ClassName=='Pants'或x.ClassName=='CharacterMesh',那么做点什么 end这样做不仅会非常混乱,而且只是一遍又一遍地要求对相同的内容进行轻微修改。我想知道lua中是否有一种方法可以询问一个值是否等于多个不同的
例如:
如果x.ClassName=='Shirt'或
x.ClassName=='associty'或
x.ClassName=='Pants'或
x.ClassName=='CharacterMesh',那么
做点什么
end
这样做不仅会非常混乱,而且只是一遍又一遍地要求对相同的内容进行轻微修改。
我想知道lua中是否有一种方法可以询问一个值是否等于多个不同的独立值
例如:
如果x.ClassName==('Shirt'或'association'或'Pants'或'CharacterMesh')然后
--做事情
结束在Lua中没有本机的方法来做这件事,但是您可以实现一个helper函数
集
function set(...)
local ret = {}
for _,k in ipairs({...}) do ret[k] = true end
return ret
end
local classname = 'Shirt'
if set('Shirt', 'Accessory', 'Pants', 'CharacterMesh')[classname] then
print('true')
end
你可以这样做:
if string.match('/Shirt/Accessory/Pants/CharacterMesh/', '/'..x.ClassName..'/') then ... end
但它不太可能比你拥有的if链快