More on Regular Expressions!

i was trying to understand what’s happening behind scenes in the Log Class in Flex Framework
if you digg a little bit in their Classes you’ll find something like this

1
2
3
4
5
6
7
8
9
10
11
12
13
                public function debug(msg:String, ... rest):void
		{
			if (hasEventListener(LogEvent.LOG))
			{
				// replace all of the parameters in the msg string
				for (var i:int = 0; i < rest.length; i++)
				{
					msg = msg.replace(new RegExp("\\{"+i+"\\}", "g"), rest[i]);
				}
 
				dispatchEvent(new LogEvent(msg, LogEventLevel.DEBUG));
			}
		}

so what’s means msg = msg.replace(new RegExp(”\\{”+i+”\\}”, “g”), rest[i]); ??????
that means whenever you find “{0}” …. “{n}” replace it by the string rest[0] … rest[n]

so you can use

1
2
Log.debug("the song says {0} little {1} little {2} little-endians" , 'zero','one','two');
//outputs:  the song says zero little one little two little-endians

for me is so hard to read a Regular Expressions especially because i always forget
all means of meta characters and meta secquencies hehehe

This entry was posted in AS3, General and tagged . Bookmark the permalink. Post a comment or leave a trackback: Trackback URL.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*