2

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 ライブラリの使用を検討しましたが、これは理想的とは言えません。これは、任意のオブジェクトのインスタンスをシリアル化しようとするためです。

4

4 に答える 4

1

私の知る限り、あなたが望むことを行う簡単な1行のコマンドはありませんが、Adobeから直接追加する方法があります

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

于 2010-02-17T22:17:25.417 に答える
0

これは、remotleyが閉じる唯一のものです。

valueOf ()

パブリック関数valueOf():Object

言語バージョン:ActionScript 3.0ランタイムバージョン:AIR 1.0、Flash Player 9

指定されたオブジェクトのプリミティブ値を返します。このオブジェクトにプリミティブ値がない場合は、オブジェクト自体が返されます。

注:Objectクラスのメソッドは、Objectのプロトタイプで動的に作成されます。Objectのサブクラスでこのメソッドを再定義するには、overrideキーワードを使用しないでください。たとえば、Objectのサブクラスは、基本クラスのオーバーライドを使用する代わりに、関数valueOf():Objectを実装します。

Objectを返します—このオブジェクトまたはオブジェクト自体のプリミティブ値。

于 2010-02-17T20:27:52.077 に答える
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 に答える