0

絶えず変化する1つの単語で、複数の段落を生成できる単純なAS3スクリプトを作成しようとしています。コードでは、配列にできるだけ多くの値を入力でき(例としてフルーツを使用しましょう)、配列ごとにカスタム段落が出力されます。

望ましい結果(配列に3つのフルーツがある場合)は次のようになります。

果物が大好き!私のお気に入りはリンゴです!りんごはとても美味しいです!だから私はリンゴが一番好きです!

果物が大好き!私のお気に入りはオレンジです!オレンジはとても美味しいです!だから私はオレンジが一番好きです!

果物が大好き!私のお気に入りはバナナです!バナナはとても美味しいです!だから私はバナナが一番好きです!

適切なフォーマットも維持されていれば素晴らしいのですが、それは必須ではありません。

4

3 に答える 3

1

ジェイソンの答えを拡張して、あなたは使うことができますmx.utils.StringUtil.substitute

import mx.utils.StringUtil

public function sentences(words:Array):String
{
    var paragraphs:String = "";

    for each (var word:String in words)
    {
        paragraphs += StringUtil.substitute("I love fruits! My favourite are {0}! {0} are very tasty! That is why I love {0} the most!\n\n", word);
    }

    return paragraphs;
}

これはアプリケーションのパフォーマンスには何の影響もありませんが、文字列はよりクリーンに見えますが、

于 2012-07-08T06:27:33.023 に答える
0

これを行う別の方法は

public function createParas(words:Array, txtBefore:String, txtAfter:String):String {
    var para:String=txtBefore;
    var joinStr:String=txtAfter + txtBefore;
    para += words.join(joinStr);
    para += txtAfter;
    return para;
}

これは、ActionSctiptの内部Array.joinメソッドを使用します。

于 2012-07-11T03:37:13.580 に答える
0

単語の配列を受け取る関数:

public function sentences(words:Array):String
{
    var paragraphs:String = "";

    for each (var word:String in words)
    {
        paragraphs += "I love fruits! My favourite are " + word + "! " + word + " are very tasty! That is why I love " + word + " the most!\n\n";
    }

    return paragraphs;
}

と呼ばれる:

sentences([ "Apples", "Oranges", "Bananas" ]);
于 2012-07-08T04:43:54.007 に答える