나는 (파이썬에서 불변의 타입)으로부터 클래스를 상속 받았다는 것을 "요구한다"는 것만으로 answered a Python question이다. 최근 Lua를하고 있었는데 그 질문에 대답 할 때 생각했습니다. "이게 루아에서 어떻게 이루어 집니까?" 그래서 Lua에서 불변 형으로부터 클래스를 상속 할 수 있습니까? 그렇다면 어떻게? 그리고 정수와 같은 클래
나는 문제가 예 이들 사이의 __index 메타 메소드의 행동에 차이가있는 이유를 이해하는 데 : lua: l.lua:8: attempt to call method 'speak' (a nil value) 하다니 : A = { __index = A }
function A:speak()
print("I'm an A")
end
An_A = setm
루아에서 프로퍼티로 함수를 푸시 할 수 있습니까? 과 같이 루아에서 그들을 lua_pushcfunction(L,L_Getter);
lua_setfield(L, -2, "GetValue");
lua_pushcfunction(L,L_Setter);
lua_setfield(L, -2, "SetValue");
그리고 전화 : 지금 , 내가 그렇게 같
그래서 난이 유사한 루아 파일이 : x = { __index = x}
constructor = function()
local o = {}
return setmetatable(o,x)
end
function x:print()
print("hello world")
end
내가이 (가) interpretr에 다음과 같이
에서 프로그래밍의 108 페이지에 메타 테이블. 메타 테이블을 이해하는 데 문제가 있습니다. 우리의 예를 확인하도록 돕는다 Set = {}
function Set.new (t)
local set = {}
for _, l in ipairs(t) do set[l] = true end
return set
end
function
저는 루아에서 간단한 클래스 구현을했습니다. test = {}
test.__index = test
function test:new()
local o = {}
setmetatable(o, self)
return o
end
function test:setName(name)
self.name = name
p
테이블에서 데이터를 얻을 수 있습니다 : Table = {
button = {},
window = {},
label = {},
edit = {},
error = {}
}
나는 테이블의 키와 값을 얻을 수 있습니까? 나는 으려고 노력 : for key, value in ipairs(Table) do
그래서 저는 루아에서 게임을하고 있습니다. 메타 테이블과 클래스를 사용하려고합니다. 그러나 PHP 지식을 가져 와서 약간 씩 작업하고 있다고 생각합니다. -- Basic Monster
Monster = {}
function Monster:new(newX, newY)
local newMonster = {x = newX, y = newY}
내가 오류 점 '메소드를 호출 시도' '(A 전무 값)'다음 코드를 실행하는 동안의 방법 useing 동안 : -- Vector2 Class
Vector2 = {X = 0, Y = 0, Magnitude = 0, Unit = nil}
function Vector2.new(XValue,YValue)
local Tmp = {}
setmet