新到Lua,試圖找出如何使用middleclass庫的Lua - 試圖調用方法 '新'(一個零值)
main.lua做OOP:
require 'middleclass'
require 'Person'
local testPerson = Person:new("Sally"); //causes Runtime error: attempt to call method 'new' (a nil value)
testPerson:speak();
人。 lua:
module(..., package.seeall)
require 'middleclass'
Person = class('Person');
function Person:initialize(name)
self.name = name;
print("INITIALIZE: " .. self.name);
end
function Person:speak()
print('Hi, I am ' .. self.name ..'.')
end
爲什麼我得到那個錯誤?
現在我明白了 - 沒有文件'/path/middleclass.init.lua'。要清楚,我的項目文件夾包含4個文件:main.lua,Person.lua,middleclass.lua,init.lua – sol 2011-04-06 19:12:31
要麼將middleclass.lua和init.lua放在名爲middleclass的子目錄中,要麼只需要'init'。 – 2011-04-06 19:13:31
好的,我把它們放在一個名爲middleclass的子目錄中,並將需求改爲'middleclass'。顯然不正確 - 模塊'middleclass'沒有找到:資源(middleclass.lu)在檔案中不存在 \t no field package.preload ['middleclass'] – sol 2011-04-06 19:18:24