1

fill char.define 関数を使用して文字列を作成する最速の方法を考えていました。

fillString('A',12); // return 'AAAAAAAAAAAA'

単純なループでこれを行うことができますが、何百万もの文字を入力したい場合、それほど高速ではありません.

これはアクションスクリプトで文字列を結合する最速の方法ですか?

array.join('');

もしそうなら、最初に配列を構築する必要があり、それはあまりにも多くのスペースを消費します。

以前はstringbuffer クラスを考えていましたが、String を直接使用するよりも遅くなると思います。

4

2 に答える 2

3

これはおそらく正しい actionscript 構文ではありませんが、アイデアは得られるはずです:

public function fillString(filler:String, count:integer):String {
    var result:String = filler;
    while (result.length <= count/2)
        result += result;
    return result+result.substr(0,count-result.length);
}
于 2012-10-09T05:02:33.710 に答える
0

文字列を結合する最速の方法に関して、この記事にはいくつかのベンチマークがあります。

http://jacksondunstan.com/articles/1790

基本的には、bigString = stringA + stringB を使用するだけで機能しますが、ByteArray トリックを使用して速度を向上させることができます。

ちなみに、jacksondunstan.com は、AS3 の一般的なパフォーマンスに関する確固たる科学的データを入手するための優れた情報源です。

于 2012-10-10T11:21:27.500 に答える