加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

如何从表成员中引用lua表成员?

发布时间:2020-12-14 21:48:21 所属栏目:大数据 来源:网络整理
导读:我在lua有一张桌子: enUS = { LOCALE_STHOUSANDS = ",",--Thousands separator e.g. comma patNumber = "%d+["..LOCALE_STHOUSANDS.."%d]*",--regex to find a number ["PreScanPatterns"] = { ["^("..patNumber..") Armor$"] = "ARMOR",}} 所以你看到这个
我在lua有一张桌子:

enUS = {
   LOCALE_STHOUSANDS = ",",--Thousands separator e.g. comma

   patNumber = "%d+["..LOCALE_STHOUSANDS.."%d]*",--regex to find a number

   ["PreScanPatterns"] = {
      ["^("..patNumber..") Armor$"] = "ARMOR",}
}

所以你看到这个表中有一整串自引用:

> LOCAL_STHOUSANDS

> patNumber

> [“^(”.. patNumber ..“)护甲$”]

如何在lua表中执行自引用?

我不想做的是必须硬替换价值观;有数百个参考:

enUS = {
   LOCALE_STHOUSANDS = ",--Thousands separator e.g. comma

   patNumber = "%d+[,%d]*",--regex to find a number

   ["PreScanPatterns"] = {
      ["^(%d+[,%d]*) Armor$"] = "ARMOR",}
}

解决方法

How can i perform self-referencing in an lua table?

你没有.

Lua不是C.在构造表之前,不存在任何表条目.因为表本身尚不存在.因此,您不能在表构造函数中有一个条目引用不存在的表中的另一个条目.

如果你想减少重复输入,那么你应该使用局部变量和do / end块:

do
  local temp_thousands_separator = ","
  local temp_number_pattern = "%d+["..LOCALE_STHOUSANDS.."%d]*"

  enUS = {
   LOCALE_STHOUSANDS = temp_thousands_separator,--Thousands separator e.g. comma

   patNumber = "%d+["..temp_thousands_separator.."%d]*",--regex to find a number

   ["PreScanPatterns"] = {
      ["^("..temp_number_pattern..") Armor$"] = "ARMOR",}
  }
end

do / end块在那里,以便临时变量不存在于表创建代码之外.

或者,您可以分阶段进行施工:

enUS = {}
  enUS.LOCALE_STHOUSANDS = ",--Thousands separator e.g. comma

  enUS.patNumber = "%d+["..enUS.LOCALE_STHOUSANDS.."%d]*",--regex to find a number

  enUS["PreScanPatterns"] = {
      ["^("..enUS.patNumber..") Armor$"] = "ARMOR",}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读