Actionscript 3 - 使用数组生成多个自定义段落

问题描述:

我正在尝试创建一个简单的AS3脚本,它可以生成多个段落,并且一个字段不断变化。在代码中,您可以在数组中填入任意数量的值(以水果为例),它会为每个数组输出一个自定义段落。Actionscript 3 - 使用数组生成多个自定义段落

期望的结果(如果我们有3种水果阵列中)将是:

我喜欢的水果!我最喜欢的是苹果!苹果非常好吃!这就是为什么我最爱苹果!

我喜欢水果!我最喜欢的是橘子!橘子非常好吃!这就是为什么我最喜欢橘子的原因!

我喜欢水果!我最喜欢的是香蕉!香蕉非常好吃!这就是为什么我最喜欢香蕉!

如果还保留了正确的格式,那将会很棒,但这不是必需的。

函数,它字数组:

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" ]); 
+0

很好的答案,谢谢! – user1508405 2012-07-08 15:59:05

+0

只是快速向上,而不是像这样调用它,因为它没有打印,所以我做了'trace(句子([“Apples”,“Oranges”,“Bananas”)))',它返回一个连字符串。您可以打印返回的字符串。 – user1508405 2012-07-08 19:52:05

扩展贾森的回答,您可以使用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; 
} 

这无助于你的应用程序性能明智,但字符串看起来更干净,

+0

感谢您的额外帮助! – user1508405 2012-07-08 16:00:09

你可以做到这一点的另一种方式是

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方法。