gpt4 book ai didi

reference - 如何在 Lua 中引用表内的 int 值?这可能吗?

转载 作者:行者123 更新时间:2023-12-04 02:46:12 25 4
gpt4 key购买 nike

我想引用一个整数,但引用应该在一个表中。目标是一个自动字符串格式化函数,它每帧更新值。

>> num = 5
>> table = {}
>> table[1] = num
>> num = 10
>> print(table[1])
>> 5

如果我运行它,值 num 只会被复制,但我需要一个引用。我现在正在用 lua löve2D 库编写游戏。这是我的代码的摘录:

function StringDrawSystem:draw()
for index, entity in pairs(self.targets) do
local str = entity:getComponent("StringComponent")
love.graphics.setFont(str.font)
local position = entity:getComponent("PositionComponent")
love.graphics.print(string.format(str.string, unpack(str.values)), position.x, position.y)
end
end

str.values 是一个表,其中应包含对所需值的引用。这些值(value)观不一定是全局性的。

entity:getComponent("StringComponent") -- is equal to 
entity.components.StringComponent -- StringComponent is just
-- a component added to the entity

StringComponent 是一个具有 3 个字段的简单类。

StringComponent = class("StringComponent")

function StringComponent:__init(font, string, values)
self.font = font
self.string = string
self.values = values
end

最佳答案

如果没有更多一级的重定向,您将无法做到这一点,因为您无法引用数字值。您可以将所需的值存储在表中并修改该表中的第一个元素:

num = {}
num[1] = 5
table = {}
table[1] = num
num[1] = 10
print(table[1][1])
-- 10

关于reference - 如何在 Lua 中引用表内的 int 值?这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18818009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com