【发布时间】:2022-01-25 05:41:40
【问题描述】:
我是 Lua 新手,我从 this link 下载并想使用 class.lua 文件。 但是,当我尝试从任何地方调用 Board:addSign 函数时,无论我做什么,传递的参数都是 place 变量和 nil 的值,而不是 sign 和 place 变量的值。我将如何解决这个问题?
这是我的代码,包括主代码和类本身。
Class = require 'class'
require 'Board'
board = Board()
for place = 1, 9 do
print('Input sign: ')
sign = io.read()
board.addSign(sign, place)
end
Board = Class{}
function Board:init()
array = {}
for n = 1, 9 do
array[n] = ' '
end
--
self.array = array
end
function Board:addSign(sign, place)
print(sign) -- outputs whatever I passed as place
print(place) -- outputs nil no matter what
self.array[place] = sign -- crashes here since place is nil
end
【问题讨论】:
-
你错过了 Lua 中一个非常重要的概念。请重温有关函数定义和函数调用的基础知识。 lua.org/manual/5.4/manual.html