Ruby는 'Class.new'로 클래스를 생성하고 상수 (대문자)에 할당 할 때 "마술처럼"클래스 이름을 설정하는 매우 흥미로운 기능을 가지고 있습니다 상수와 일치합니다.lua - 변수 할당 할당하기
# This is ruby code
MyRubyClass = Class.new(SuperClass)
puts MyRubyClass.name # "MyRubyClass"
루비는 할당을 "캡처"하고 삽입은 익명 클래스에 이름을 설정합니다.
루아에서 비슷한 것을 할 수있는 방법이 있는지 알고 싶습니다.
나는 내 자신의 클래스 시스템을 구축했지만, 그것이 작동하는 나는 두 번 같은 이름을 지정할 수있어 :
-- This is Lua code
MyLuaClass = class('MyLuaClass', SuperClass)
print(MyLuaClass.name) -- MyLuaClass
내가 그 'MyLuaClass'
문자열을 제거하고 싶습니다. 루아에서 이것을 할 수있는 방법이 있습니까?
이것은 가능하지만 매우 효율적이지는 않습니다. 전역 할당이 완료 될 때마다 루아 함수를 호출해야 할 것이다. 글로벌 할당이 최소한으로 유지되면 큰 문제가 아닐 수 있습니다. 힌트를 주려고 시도해 볼게. – kikito
루아 함수를 호출하는 데 드는 비용은 그리 많지 않습니다. 성능에 문제가 있다면 C로 이동하거나 LuaJIT를 사용하십시오. 특히이 종류의 설정 작업 중 몇 가지 함수 호출은 무시할 수 있습니다. – Puppy
이것이 최선의 방법이었습니다. 감사! – kikito