読者です 読者をやめる 読者になる 読者になる
無料で使えるシステムトレードフレームワーク「Jiji」 をリリースしました!

・OANDA Trade APIを利用した、オープンソースのシステムトレードフレームワークです。
・自分だけの取引アルゴリズムで、誰でも、いますぐ、かんたんに、自動取引を開始できます。

オブジェクトごとの一意なIDを生成する

Flex

mx.utils.NameUtil#createUniqueName()でオブジェクトの一意なIDを作成できます。

  • IDは「無修飾のクラス名+番号」になります。
  • 「無修飾のクラス名」なら、パッケージが違う同名クラスだと同じIDになるのでは、と思いきや、番号がすべてのオブジェクトで一意でした。
    • なら「無修飾のクラス名」とかいらなくね!、とは思うけど。
package {

  import mx.utils.*;
  import flash.display.*;
  import flash.text.*;
  import example.*;
  import example2.*;
  
  // NameUtil.createUniqueName のサンプル
  public class Sample extends Sprite  {
    
    public function Sample(){

      var a:Object = new Object();
      var b:Object = new Object();
      
      // オブジェクトごとの一意なIDを生成する
      var str:String = "";
      str += NameUtil.createUniqueName(a) + "\n"; // Object0
      str += NameUtil.createUniqueName(b) + "\n"; // Object1
      
      // 「無修飾のクラス名+番号」なので、パッケージが違う同名クラスだと
      // 同じIDになるのでは、と思ったけど、番号はすべてのオブジェクトで一意でした。
      var x:example.Test = new example.Test();
      var x2:example2.Test = new example2.Test();
      str += NameUtil.createUniqueName(x) + "\n"; // Test2
      str += NameUtil.createUniqueName(x2) + "\n"; // Test3
      
      // 結果を表示
      var stdout:TextField = new TextField();
      stdout.width = 500;
      stdout.height = 500;
      addChild(stdout);
      stdout.text = str;
      
    }
  }
}

実行結果はこちら