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" ]);
答
扩展贾森的回答,您可以使用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
方法。
很好的答案,谢谢! – user1508405 2012-07-08 15:59:05
只是快速向上,而不是像这样调用它,因为它没有打印,所以我做了'trace(句子([“Apples”,“Oranges”,“Bananas”)))',它返回一个连字符串。您可以打印返回的字符串。 – user1508405 2012-07-08 19:52:05