2

Python 的repr功能很棒:它返回对象的可打印表示。

例如,repr(["a'b", {1: 2}, u"foo"])是字符串'["a\'b", {1: 2}, u\'foo\']'。请注意,例如,引号是如何正确转义的。

那么,对于 ActionScript 是否有类似的东西?

例如,right now:[1, 2, ["3", "4"]].toString()产生字符串"1,2,3,4"……这真的不是很有帮助。我希望它产生一个字符串,如......好吧,'[1, 2, ["3", "4"]]'

我考虑过使用 JSON 库……但这不太理想,因为它会尝试序列化任意对象的实例,而我并不真正想要。

4

4 回答 4

1

AFAIK 没有任何快速简单的单行命令可以满足您的要求,但这是一种方法,直接来自 Adob​​e 我可能会添加

http://livedocs.adobe.com/flex/3/html/help.html?content=usingas_8.html

于 2010-02-17T22:17:25.417 回答
0

你可以试试 ObjectUtil.toString 函数,它不是你想要的,但我认为你不会找到更接近你想要的东西,因为它的函数被描述为“将指定的对象漂亮地打印成字符串。”,这就是它的作用,但保留了您想要的更多信息。由于 Array 是一个复杂的数据对象,这就是它这样注释它的原因。

    var a:Array = [1, 2, ["3", "4"]];
    trace (ObjectUtil.toString(a));
    // returns
    // (Array)#0
    //  [0] 1
    //  [1] 2
    //  [2] (Array)#1
    //    [0] "3"
    //    [1] "4"

我想知道如何repr处理这个例子:

    var a:Array = [0,1,2];
a.push(a);                  
trace (ObjectUtil.toString(a));
    // returns
    // (Array)#0
    //   [0] 0
    //   [1] 1
    //   [2] 2
    //   [3] (Array)#0
于 2010-02-17T22:48:09.947 回答
0

是的,我知道你想要什么,解决方案很简单,使用JSON对象来完成它!

例如:

trace(JSON.stringify('hello'));
trace(JSON.stringify(['yet', 'another']));
trace(JSON.stringify({hello: 'world'}));

试试看!

阅读更多相关信息,请访问此处

于 2014-07-20T17:07:04.220 回答
0

这是remotley唯一关闭的东西:

valueOf ()

公共函数 valueOf():对象

语言版本:ActionScript 3.0 运行时版本:AIR 1.0、Flash Player 9

返回指定对象的原始值。如果此对象没有原始值,则返回对象本身。

注意:Object 类的方法是在 Object 的原型上动态创建的。要在 Object 的子类中重新定义此方法,请不要使用 override 关键字。例如,Object 的子类实现函数 valueOf():Object 而不是使用基类的覆盖。

返回 Object — 此对象或对象本身的原始值。

于 2010-02-17T20:27:52.077 回答