local m = {}function m:printTT(content, ...) local tab = 0 local out_list = {} local function printk(value, key, tab) if key == nil then return end if type(key) ~= "number" then key = tostring(key) else key = string.format("[%d]", key) end
local m = {}
function m:printTT(content, ...)
local tab = 0
local out_list = {}
local function printk(value, key, tab)
if key == nil then
return
end
if type(key) ~= "number" then
key = tostring(key)
else
key = string.format("[%d]", key)
end
if type(value) == "table" then
if key ~= nil then
table.insert(out_list, tab .. key .. " =")
end
table.insert(out_list, tab .. "{")
for k, v in pairs(value) do
printk(v, k, tab .. "| ")
end
table.insert(out_list, tab .. "},")
else
local content
if type(value) == "nil" or value == "^&nil" then
value = "nil"
elseif type(value) == "string" then
value = string.format("\"%s\"", tostring(value))
else
value = tostring(value)
end
content = string.format("%s%s = %s,", tab, key, value)
table.insert(out_list, tostring(content))
end
end
local value = type(content) == "string" and string.format(content, ...) or content
local key = os.date("[\"%X\"]", os.time())
printk(value, key, "")
local out_str = table.concat(out_list, "\n")
print(out_str .. "\n")
-- local logFileName = os.date("print_tab_%Y_%m_%d.log", os.time())
-- local logFileName = "a.log"
-- local file = assert(io.open(logFileName, "a+"))
-- file:write(out_str .. "\n")
-- file:close()
end
--打印用户数据
function m:logUD(ud)
local function tmp(metaT,dSet)
if metaT then
for _val, _val_type in pairs(metaT) do
if type(_val_type) ~= "userdata" then
if not string.find(_val,"_") then
table.insert(dSet,_val)
end
end
end
table.sort(dSet)
dSet[tostring(metaT)] = {}
tmp(getmetatable(metaT),dSet[tostring(metaT)])
end
end
local resTb = {}
tmp(getmetatable(ud),resTb)
m:printTT(resTb)
end
return m
打印结果
[LUA-print] ["21:06:18"] =
{
| [1] = ".backup",
| [2] = "create",
| [3] = "createInstance",
| [4] = "disableEffect",
| [5] = "enableGlow",
| [6] = "enableOutline",
| [7] = "enableShadow",
| [8] = "getAutoRenderSize",
| [9] = "getEffectColor",
| [10] = "getFontName",
| [11] = "getFontSize",
| [12] = "getLabelEffectType",
| [13] = "getOutlineSize",
| [14] = "getShadowBlurRadius",
| [15] = "getShadowColor",
| [16] = "getShadowOffset",
| [17] = "getString",
| [18] = "getStringLength",
| [19] = "getStringValue",
| [20] = "getTextAreaSize",
| [21] = "getTextColor",
| [22] = "getTextHorizontalAlignment",
| [23] = "getTextVerticalAlignment",
| [24] = "getType",
| [25] = "init",
| [26] = "isShadowEnabled",
| [27] = "isTouchScaleChangeEnabled",
| [28] = "new",
| [29] = "setFontName",
| [30] = "setFontSize",
| [31] = "setString",
| [32] = "setText",
| [33] = "setTextAreaSize",
| [34] = "setTextColor",
| [35] = "setTextHorizontalAlignment",
| [36] = "setTextVerticalAlignment",
| [37] = "setTouchScaleChangeEnabled",
| table: 0x010d7ebef0 =
| {
| | [1] = "addClickEventListener",
| | [2] = "addTouchEventListener",
| | [3] = "clone",
| | [4] = "create",
| | [5] = "dispatchFocusEvent",
| | [6] = "enableDpadNavigation",
| | [7] = "findNextFocusedWidget",
| | [8] = "getActionTag",
| | [9] = "getBottomBoundary",
| | [10] = "getBottomInParent",
| | [11] = "getCallbackName",
| | [12] = "getCallbackType",
| | [13] = "getCurrentFocusedWidget",
| | [14] = "getCustomSize",
| | [15] = "getLayoutParameter",
| | [16] = "getLayoutSize",
| | [17] = "getLeftBoundary",
| | [18] = "getLeftInParent",
| | [19] = "getPositionPercent",
| | [20] = "getPositionType",
| | [21] = "getRightBoundary",
| | [22] = "getRightInParent",
| | [23] = "getSize",
| | [24] = "getSizePercent",
| | [25] = "getSizeType",
| | [26] = "getTopBoundary",
| | [27] = "getTopInParent",
| | [28] = "getTouchBeganPosition",
| | [29] = "getTouchEndPosition",
| | [30] = "getTouchMovePosition",
| | [31] = "getVirtualRenderer",
| | [32] = "getVirtualRendererSize",
| | [33] = "getWorldPosition",
| | [34] = "hitTest",
| | [35] = "ignoreContentAdaptWithSize",
| | [36] = "interceptTouchEvent",
| | [37] = "isBright",
| | [38] = "isClippingParentContainsPoint",
| | [39] = "isEnabled",
| | [40] = "isFlippedX",
| | [41] = "isFlippedY",
| | [42] = "isFocusEnabled",
| | [43] = "isFocused",
| | [44] = "isHighlighted",
| | [45] = "isIgnoreContentAdaptWithSize",
| | [46] = "isLayoutComponentEnabled",
| | [47] = "isPropagateTouchEvents",
| | [48] = "isSwallowTouches",
| | [49] = "isTouchEnabled",
| | [50] = "isUnifySizeEnabled",
| | [51] = "new",
| | [52] = "onFocusChange",
| | [53] = "onTouch",
| | [54] = "propagateTouchEvent",
| | [55] = "requestFocus",
| | [56] = "setActionTag",
| | [57] = "setBright",
| | [58] = "setBrightStyle",
| | [59] = "setCallbackName",
| | [60] = "setCallbackType",
| | [61] = "setEnabled",
| | [62] = "setFlippedX",
| | [63] = "setFlippedY",
| | [64] = "setFocusEnabled",
| | [65] = "setFocused",
| | [66] = "setHighlighted",
| | [67] = "setLayoutComponentEnabled",
| | [68] = "setLayoutParameter",
| | [69] = "setPositionPercent",
| | [70] = "setPositionType",
| | [71] = "setPropagateTouchEvents",
| | [72] = "setSize",
| | [73] = "setSizePercent",
| | [74] = "setSizeType",
| | [75] = "setSwallowTouches",
| | [76] = "setTouchEnabled",
| | [77] = "setUnifySizeEnabled",
| | [78] = "updateSizeAndPosition",
| | table: 0x010d7bcd18 =
| | {
| | | [1] = "addProtectedChild",
| | | [2] = "create",
| | | [3] = "disableCascadeColor",
| | | [4] = "disableCascadeOpacity",
| | | [5] = "getProtectedChildByTag",
| | | [6] = "new",
| | | [7] = "removeAllProtectedChildren",
| | | [8] = "removeAllProtectedChildrenWithCleanup",
| | | [9] = "removeProtectedChild",
| | | [10] = "removeProtectedChildByTag",
| | | [11] = "reorderProtectedChild",
| | | [12] = "sortAllProtectedChildren",
| | | table: 0x010d6e0db0 =
| | | {
| | | | [1] = "add",
| | | | [2] = "addChild",
| | | | [3] = "addComponent",
| | | | [4] = "addTo",
| | | | [5] = "align",
| | | | [6] = "boundingBox",
| | | | [7] = "cleanup",
| | | | [8] = "convertToNodeSpace",
| | | | [9] = "convertToNodeSpaceAR",
| | | | [10] = "convertToWorldSpace",
| | | | [11] = "convertToWorldSpaceAR",
| | | | [12] = "convertTouchToNodeSpace",
| | | | [13] = "convertTouchToNodeSpaceAR",
| | | | [14] = "create",
| | | | [15] = "disableNodeEvents",
| | | | [16] = "draw",
| | | | [17] = "enableNodeEvents",
| | | | [18] = "enumerateChildren",
| | | | [19] = "fadeIn",
| | | | [20] = "fadeOut",
| | | | [21] = "fadeTo",
| | | | [22] = "getActionByTag",
| | | | [23] = "getActionManager",
| | | | [24] = "getAnchorPoint",
| | | | [25] = "getAnchorPointInPoints",
| | | | [26] = "getBoundingBox",
| | | | [27] = "getCameraMask",
| | | | [28] = "getChildByName",
| | | | [29] = "getChildByTag",
| | | | [30] = "getChildren",
| | | | [31] = "getChildrenCount",
| | | | [32] = "getColor",
| | | | [33] = "getComponent",
| | | | [34] = "getContentSize",
| | | | [35] = "getDescription",
| | | | [36] = "getDisplayedColor",
| | | | [37] = "getDisplayedOpacity",
| | | | [38] = "getEventDispatcher",
| | | | [39] = "getGLProgram",
| | | | [40] = "getGLProgramState",
| | | | [41] = "getGlobalZOrder",
| | | | [42] = "getLocalZOrder",
| | | | [43] = "getName",
| | | | [44] = "getNodeToParentAffineTransform",
| | | | [45] = "getNodeToParentTransform",
| | | | [46] = "getNodeToWorldAffineTransform",
| | | | [47] = "getNodeToWorldTransform",
| | | | [48] = "getNormalizedPosition",
| | | | [49] = "getNumberOfRunningActions",
| | | | [50] = "getOpacity",
| | | | [51] = "getOrderOfArrival",
| | | | [52] = "getParent",
| | | | [53] = "getParentToNodeAffineTransform",
| | | | [54] = "getParentToNodeTransform",
| | | | [55] = "getPhysicsBody",
| | | | [56] = "getPosition",
| | | | [57] = "getPosition3D",
| | | | [58] = "getPositionX",
| | | | [59] = "getPositionY",
| | | | [60] = "getPositionZ",
| | | | [61] = "getRotation",
| | | | [62] = "getRotation3D",
| | | | [63] = "getRotationSkewX",
| | | | [64] = "getRotationSkewY",
| | | | [65] = "getScale",
| | | | [66] = "getScaleX",
| | | | [67] = "getScaleY",
| | | | [68] = "getScaleZ",
| | | | [69] = "getScene",
| | | | [70] = "getScheduler",
| | | | [71] = "getSkewX",
| | | | [72] = "getSkewY",
| | | | [73] = "getTag",
| | | | [74] = "getVertexZ",
| | | | [75] = "getWorldToNodeAffineTransform",
| | | | [76] = "getWorldToNodeTransform",
| | | | [77] = "getZOrder",
| | | | [78] = "hide",
| | | | [79] = "ignoreAnchorPointForPosition",
| | | | [80] = "init",
| | | | [81] = "isCascadeColorEnabled",
| | | | [82] = "isCascadeOpacityEnabled",
| | | | [83] = "isIgnoreAnchorPointForPosition",
| | | | [84] = "isOpacityModifyRGB",
| | | | [85] = "isRunning",
| | | | [86] = "isScheduled",
| | | | [87] = "isVisible",
| | | | [88] = "move",
| | | | [89] = "moveBy",
| | | | [90] = "moveTo",
| | | | [91] = "new",
| | | | [92] = "numberOfRunningActions",
| | | | [93] = "onCleanup",
| | | | [94] = "onEnter",
| | | | [95] = "onEnterTransitionFinish",
| | | | [96] = "onExit",
| | | | [97] = "onExitTransitionStart",
| | | | [98] = "onNodeEvent",
| | | | [99] = "onUpdate",
| | | | [100] = "pause",
| | | | [101] = "registerScriptHandler",
| | | | [102] = "removeAllChildren",
| | | | [103] = "removeAllComponents",
| | | | [104] = "removeChild",
| | | | [105] = "removeChildByName",
| | | | [106] = "removeChildByTag",
| | | | [107] = "removeComponent",
| | | | [108] = "removeFromParent",
| | | | [109] = "removeFromParentAndCleanup",
| | | | [110] = "removeSelf",
| | | | [111] = "reorderChild",
| | | | [112] = "resume",
| | | | [113] = "rotate",
| | | | [114] = "rotateBy",
| | | | [115] = "rotateTo",
| | | | [116] = "runAction",
| | | | [117] = "scaleTo",
| | | | [118] = "scheduleUpdate",
| | | | [119] = "scheduleUpdateWithPriorityLua",
| | | | [120] = "setActionManager",
| | | | [121] = "setAdditionalTransform",
| | | | [122] = "setAnchorPoint",
| | | | [123] = "setCameraMask",
| | | | [124] = "setCascadeColorEnabled",
| | | | [125] = "setCascadeOpacityEnabled",
| | | | [126] = "setColor",
| | | | [127] = "setContentSize",
| | | | [128] = "setEventDispatcher",
| | | | [129] = "setGLProgram",
| | | | [130] = "setGLProgramState",
| | | | [131] = "setGlobalZOrder",
| | | | [132] = "setLocalZOrder",
| | | | [133] = "setName",
| | | | [134] = "setNodeToParentTransform",
| | | | [135] = "setNormalizedPosition",
| | | | [136] = "setOnEnterCallback",
| | | | [137] = "setOnExitCallback",
| | | | [138] = "setOpacity",
| | | | [139] = "setOpacityModifyRGB",
| | | | [140] = "setOrderOfArrival",
| | | | [141] = "setParent",
| | | | [142] = "setPhysicsBody",
| | | | [143] = "setPosition",
| | | | [144] = "setPosition3D",
| | | | [145] = "setPositionX",
| | | | [146] = "setPositionY",
| | | | [147] = "setPositionZ",
| | | | [148] = "setRotation",
| | | | [149] = "setRotation3D",
| | | | [150] = "setRotationQuat",
| | | | [151] = "setRotationSkewX",
| | | | [152] = "setRotationSkewY",
| | | | [153] = "setScale",
| | | | [154] = "setScaleX",
| | | | [155] = "setScaleY",
| | | | [156] = "setScaleZ",
| | | | [157] = "setScheduler",
| | | | [158] = "setSkewX",
| | | | [159] = "setSkewY",
| | | | [160] = "setTag",
| | | | [161] = "setUserObject",
| | | | [162] = "setVertexZ",
| | | | [163] = "setVisible",
| | | | [164] = "setZOrder",
| | | | [165] = "setonEnterTransitionDidFinishCallback",
| | | | [166] = "setonExitTransitionDidStartCallback",
| | | | [167] = "show",
| | | | [168] = "sortAllChildren",
| | | | [169] = "stopAction",
| | | | [170] = "stopActionByTag",
| | | | [171] = "stopActionsByFlags",
| | | | [172] = "stopAllActions",
| | | | [173] = "stopAllActionsByTag",
| | | | [174] = "unregisterScriptHandler",
| | | | [175] = "unscheduleUpdate",
| | | | [176] = "update",
| | | | [177] = "updateDisplayedColor",
| | | | [178] = "updateDisplayedOpacity",
| | | | [179] = "updateTransform",
| | | | [180] = "visit",
| | | | table: 0x010c765d50 =
| | | | {
| | | | | [1] = "getReferenceCount",
| | | | | [2] = "release",
| | | | | [3] = "retain",
| | | | | table: 0x010c76cf18 =
| | | | | {
| | | | | | table: 0x010c76d208 =
| | | | | | {
| | | | | | },
| | | | | },
| | | | },
| | | },
| | },
| },
},
