/**
* 重复 str times 次。
* @param str 源字符串。
* @param times 重复次数。
* @return 结果
*/
public static function repeat(str:String, times:int):String {
if(times <= 0)
return "";
return $repeat(str, times);
}
/**
* @private
*
* 重复 str times 次。
* @param str 源字符串。
* @param times 重复次数。
* @return 结果
*/
private static function $repeat(str:String, times:int):String {
/*
* | s (n = 1)
* f(s,n)=| f(s, n/2)*2 (n % 2 = 0)
* | s + f[s, (n-1) / 2]*2 (n % 2 = 1)
*/
var tmp:String;
if(times == 1)
return str;
if(times % 2 == 0) {
tmp = $repeat(str, times / 2)
return tmp + tmp;
} else {
tmp = $repeat(str, (times - 1) / 2)
return str + tmp + tmp;
}
}
本文链接:http://assnippets.blogspot.com/2008/01/as3_09.html转载请注明出处。
相关文章:
0评论:
发表评论