【发布时间】:2016-06-17 08:54:18
【问题描述】:
是否可以在 Lua 中为多个变量设置默认值?我似乎很难做到这一点。
我的逻辑: 1) 可以像这样为多个变量设置值:
> one, two = "uno", "dos"
> print(one)
uno
> print(two)
dos
2) 可以像这样为变量设置默认值:
> foo = string.match("/dir/example.txt", "dir/(..)/.*") or "ab"
> return print(foo)
ab
3) 当我尝试为多个变量设置默认值时,我遇到了一个问题:
> foo, bar = string.match("/dir/xx/xx/example.txt", "/dir/(..)/(..)/.*")
> print(foo)
xx
> print(bar)
zz
> foo, bar = string.match("/dir/xx/xx/example.txt", "/dir/(..)/(..)/.*") or "ab","cd"
> print(foo)
xx
> print(bar)
cd
我怀疑正在发生的事情是它将最后一个逗号之前的所有内容都视为“foo”的值,并将其之后的所有内容视为“bar”的值。
使用此示例,如果 string.match 未提供值,是否可以指示这些应为默认值?
【问题讨论】:
标签: lua default-value