0

我正在尝试创建一个简单的 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 回答