如何在Lua中将类实例作为参数传递给成员函数

我正在尝试在 Lua 中创建类,我需要将另一个类的实例作为参数传递给成员函数。

-- 类定义内部

function Calculator:add(numberClassInstanceWithAdditionDataEncapsulated)
  return numberClassInstanceWithAdditionDataEncapsulated:value();
end

-- numberClassInstanceWithAdditionDataEncapsulated 是我自定义类 SNum 的实例,
-- 它包含方法、数据和其他东西,它不是语言中的数字。
-- 当我将 value 更改为 showMyNumber 时,它无法编译(两个函数都是 SNum 类的成员函数)。

我得到错误

attempt to index local 'numberClassInstanceWithAdditionDataEncapsulated' (a number value)

如何将另一个类的实例传递给成员函数?

点赞
用户18403
用户18403

这个错误只会在运行时发生,错误信息很清楚:numberClassInstanceWithAdditionDataEncapsulated是一个数字,不能被索引。它不是一个表格(通常对象或类实例都是表格),这可能是你预期的。

2014-05-28 11:45:00