gpt4 book ai didi

lua - 如何在 lua 中使用 pcall 调用类方法?

转载 作者:行者123 更新时间:2023-12-05 09:15:17 25 4
gpt4 key购买 nike

如何在 Lua 中使用 pcall 调用类方法?

我尝试了 pcall(instance:method, arg) 但它不起作用。
我还尝试了 pcall(instance.method, instance, arg) 但这也不起作用。

我用谷歌搜索了解决方案,但找不到。

一个例子:

local ValueOwnerMap = {}

ValueOwnerMap.__index = ValueOwnerMap

function ValueOwnerMap:create(key_prefix)
local instance = {}
setmetatable(instance, ValueOwnerMap)
instance.key = key_prefix .. ':value-owner-map'
return instance
end

function ValueOwnerMap:get(value)
return redis.call('HGET', self.key, value)
end

function ValueOwnerMap:put(value, owner_id)
return redis.call('HSETNX', self.key, value, owner_id)
end

function ValueOwnerMap:del(value)
return redis.call('HDEL', self.key, value)
end

local value_owner_map = ValueOwnerMap:create('owner:key')
local success, data = pcall(value_owner_map:put, 'a_value', 'a_owner_id')

最佳答案

instance:method(arg)instance.method(instance,arg) 的糖分。所以试试

pcall(value_owner_map.put, value_owner_map, 'a_value', 'a_owner_id')

关于lua - 如何在 lua 中使用 pcall 调用类方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52815679/

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