Python的repr
函数非常棒:它返回一个对象的可打印表示。
例如,repr(["a'b", {1: 2}, u"foo"])
是字符串'["a\'b", {1: 2}, u\'foo\']'
。请注意,例如,如何正确转义引号。
那么,ActionScript有这样的东西吗?
例如,现在:[1, 2, ["3", "4"]].toString()
生成字符串"1,2,3,4"
...这真的不是很有帮助。我希望它能产生一个字符串......好吧,'[1, 2, ["3", "4"]]'
。
我考虑过使用JSON库...但这不太理想,因为它会尝试序列化任意对象的实例,这些我并不是真的想要。
答案 0 :(得分:1)
AFAIK没有任何快速简单的一行命令可以做你想要的,但这是一种方法,直接来自Adobe我可能会添加
http://livedocs.adobe.com/flex/3/html/help.html?content=usingas_8.html
答案 1 :(得分:0)
这是remotley唯一关闭的事情:
valueOf ()
public function valueOf():Object
语言版本:ActionScript 3.0 运行时版本:AIR 1.0,Flash Player 9
返回指定对象的原始值。如果此对象没有原始值,则返回对象本身。
注意:Object类的方法是在Object的原型上动态创建的。要在Object的子类中重新定义此方法,请不要使用override关键字。例如,Object的子类实现函数valueOf():Object而不是使用基类的覆盖。
返回 Object - 此对象或对象本身的原始值。
答案 2 :(得分: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
答案 3 :(得分:0)
是的我知道你想要什么,解决方案非常简单,使用JSON
对象来完成它!
例如:
trace(JSON.stringify('hello'));
trace(JSON.stringify(['yet', 'another']));
trace(JSON.stringify({hello: 'world'}));
试试吧!
了解详情,请访问here。