2009-07-28 14 views

Antwort

6

Dies ist keine Konstante, sondern diese Codezeile Sie die Zeilennummer geben:

trace(">",new Error().getStackTrace().match(/(?<=:)[0-9]*(?=])/g)[0]); 

PS: Dies funktioniert nur, wenn die swf im Debug-Modus

+0

wow, das ist cool – jedierikb

+0

Sehr schöner Trick! – HanClinto

+0

Danke Jungs !!! – OXMO456

2

kompiliert wird OXMO456 Trick nutzen zu können, Verwenden Sie als Funktion einfach den Index 1 des match Ergebnisses (anstatt Index 0). Der folgende Code tut dies und prüft, ob Debug-Fähigkeit:

import flash.system.Capabilities; 

/** 
* Returns the positive line number from which the function is called, if 
* available, otherwise returns a negative number. 
*/ 
function lineNumber():int { 
    var ret:int = -1; 
    if (Capabilities.isDebugger) { 
    ret = new Error().getStackTrace().match(/(?<=:)[0-9]*(?=])/g)[1]; 
    } 
    return ret; 
} 

Beispiel:

trace('line ' + lineNumber() + ' reached!'); 
Verwandte Themen