Actionscript 3 AS3跟踪带换行符
出于诊断目的,我想打印一个矩阵(数组数组)。使用循环执行此操作意味着多次执行跟踪命令,据我所知,这排除了将多个表单元格打印到一行的可能性 (对Actionscript 3 AS3跟踪带换行符,actionscript-3,actionscript,newline,trace,Actionscript 3,Actionscript,Newline,Trace,出于诊断目的,我想打印一个矩阵(数组数组)。使用循环执行此操作意味着多次执行跟踪命令,据我所知,这排除了将多个表单元格打印到一行的可能性 (对轨迹(x);轨迹(y);进行编码时,换行符位于x和y之间) 我能做什么?您可以使用“\n”将跟踪语句分解为多行。我不太确定这是否是你在问题中提出的问题 如果您使用flex,则可以使用ObjectUtil.toString()将对象(嵌套数组)转换为字符串表示形式 如果你问如何打印一行多个记录道,我建议先转换成字符串。假设您将一个矩阵分解为一个行数组。请注意
轨迹(x);轨迹(y);
进行编码时,换行符位于x
和y
之间)
我能做什么?您可以使用“\n”
将跟踪语句分解为多行。我不太确定这是否是你在问题中提出的问题
如果您使用flex,则可以使用ObjectUtil.toString()将对象(嵌套数组)转换为字符串表示形式
如果你问如何打印一行多个记录道,我建议先转换成字符串。假设您将一个矩阵分解为一个行数组。请注意,此代码未经测试,可能存在拼写错误。它还可以在外部数组包含字符串对象数组的假设下工作,情况可能并非如此,但它应该会有所帮助,并且可以转换为其他数据类型
var rowText:String = "";
trace ("BEGIN tracing rows");
for each (var row:Array in rows)
{
for each (var value:String in row)
{
rowText = rowText + value + " ";
}
trace (rowText);
}
trace("END tracing rows");
您可以使用“\n”
将跟踪语句拆分为多行。我不太确定这是否是你在问题中提出的问题
如果您使用flex,则可以使用ObjectUtil.toString()将对象(嵌套数组)转换为字符串表示形式
如果你问如何打印一行多个记录道,我建议先转换成字符串。假设您将一个矩阵分解为一个行数组。请注意,此代码未经测试,可能存在拼写错误。它还可以在外部数组包含字符串对象数组的假设下工作,情况可能并非如此,但它应该会有所帮助,并且可以转换为其他数据类型
var rowText:String = "";
trace ("BEGIN tracing rows");
for each (var row:Array in rows)
{
for each (var value:String in row)
{
rowText = rowText + value + " ";
}
trace (rowText);
}
trace("END tracing rows");
下面的代码
var jaggedArray:Array = new Array(new Array(" 1 "," 2 ", " 3 "), new Array(" 3 ", " 4 ", " 5 "));
var output:String = "";
for( var i:Number = 0; i < jaggedArray.length; ++i){
for(var j:Number = 0; j < jaggedArray[i].length; ++j){
output += jaggedArray[i][j];
}
output += "\n";
}
trace(output);
var jaggedArray:Array=新数组(新数组(“1”、“2”、“3”)、新数组(“3”、“4”、“5”);
var输出:String=“”;
对于(变量i:Number=0;i
…生成以下输出:
这就是你要找的吗?如果是这样,请不要像我那样使用难看的字符串连接,最好使用如上所述的缓冲区
锯齿状数组是指其元素为数组的数组。它的特点是它的元素可以有不同的大小
var jaggedArray:Array = new Array(new Array(" 1 "," 2 ", " 3 "), new Array(" 3 ", " 4 ", " 5 "));
var output:String = "";
for( var i:Number = 0; i < jaggedArray.length; ++i){
for(var j:Number = 0; j < jaggedArray[i].length; ++j){
output += jaggedArray[i][j];
}
output += "\n";
}
trace(output);
var x:int=10, y:int=x/2, z:int=y*2;
// trace as single space-delimited line:
trace(x, y, z); // 10 5 10
var jaggedArray:Array=新数组(新数组(“1”、“2”、“3”)、新数组(“3”、“4”、“5”);
var输出:String=“”;
对于(变量i:Number=0;i
…生成以下输出:
这就是你要找的吗?如果是这样,请不要像我那样使用难看的字符串连接,最好使用如上所述的缓冲区
锯齿状数组是指其元素为数组的数组。它的特点是其元素可以具有不同的大小
var x:int=10, y:int=x/2, z:int=y*2;
// trace as single space-delimited line:
trace(x, y, z); // 10 5 10
但对于阵列,您可以这样做:
var a1:Array = [1, 2, 35678];
var a2:Array = [124, 5, 6];
var a3:Array = [7, 128, 9];
var mtx:Array = [a1, a2, a3];
for each(var row:Array in mtx) {
trace(row.join('\t'));
// or use delimiter function
// to right align values...
}
但对于阵列,您可以这样做:
var a1:Array = [1, 2, 35678];
var a2:Array = [124, 5, 6];
var a3:Array = [7, 128, 9];
var mtx:Array = [a1, a2, a3];
for each(var row:Array in mtx) {
trace(row.join('\t'));
// or use delimiter function
// to right align values...
}
为了解决这个问题,我个人刚刚创建了一个新的类,它允许我给这个类写信;然后执行跟踪命令:
public class TraceHolder {
private var txt:String = "";
public function TraceHolder() {
// constructor code
}
public function writeTo(inStrg:String) : void
{
txt = txt.concat(inStrg);
}
public function execute() : void
{
trace(txt);
txt = "";
}
}
这样我就可以做到:
var th:TraceHolder = new TraceHolder();
th.writeTo("blah blah blah the front of the line");
th.writeTo("blah blah blah");
th.writeTo("blah blah blah end of the line");
th.execute();
它可以追踪到:
blah blah blah the front of the lineblah blah blahblah blah blah end of the line
简单、有效且非常有用。为了解决这个问题,我个人刚刚创建了一个新类,允许我向该类编写代码;然后执行跟踪命令:
public class TraceHolder {
private var txt:String = "";
public function TraceHolder() {
// constructor code
}
public function writeTo(inStrg:String) : void
{
txt = txt.concat(inStrg);
}
public function execute() : void
{
trace(txt);
txt = "";
}
}
这样我就可以做到:
var th:TraceHolder = new TraceHolder();
th.writeTo("blah blah blah the front of the line");
th.writeTo("blah blah blah");
th.writeTo("blah blah blah end of the line");
th.execute();
它可以追踪到:
blah blah blah the front of the lineblah blah blahblah blah blah end of the line
简单、有效且非常有用。如果这是您需要的答案的最后一部分,请接受jdecuyper的答案。这个答案是第一个,基本上是一样的。在我继续编辑我的答案之前,我没有看到它。我的答案最初只包含“\n”部分。如果这是您需要的答案的最后一部分,请接受jdecuyper的答案。这个答案是第一个,基本上是一样的。在我继续编辑我的答案之前,我没有看到它,我的答案最初只包括“\n”部分。