Hatena::Groupsubtech

#生存戦略 、それは

-> 07 { 02 / 19 }

いきなりsubscriber が増えた

21:42 | はてなブックマーク - いきなりsubscriber が増えた - #生存戦略 、それは

マラチ(ry)効果か。unsubscribe は delete キーだよ。

体調悪い

21:41 | はてなブックマーク - 体調悪い - #生存戦略 、それは

ゲロゲロ

AS3 で Singleton

18:24 | はてなブックマーク - AS3 で Singleton - #生存戦略 、それは

get アクセサメソッドで getter にしてやるとドットで関数呼び出しの方法じゃなくても呼べるのね。へぇ。

下は別に面白くも何ともない singleton 例。

package
{
  public class Singleton {
    public static var __instance:Singleton;
    private var count:int = 0;

    public static function get instance():Singleton {
      if ( __instance === null ) {
        __instance = new Singleton;
      }
      return __instance;
    }

    public function countup():int {
      return count++;
    }
  }
}
var obj1:Singleton = Singleton.instance;
trace(obj1.countup()); // 1
var obj2:Singleton = Singleton.instance;
trace(obj2.countup()); // 2
trace(obj1.countup()); // 3

AS3 でどこからでも log();

17:13 | はてなブックマーク - AS3 でどこからでも log(); - #生存戦略 、それは

ちょさんの log 関数を持ってきてどこかに log.as という名前で保存

Object#inspect ぽくして表示するようにした

package {
  import flash.external.ExternalInterface;
  import flash.utils.getQualifiedClassName;

  public function log(... args):void {
    var inspect:Function = function(arg:*, bracket:Boolean = true):String {
        var className:String = getQualifiedClassName(arg);
        var str:String;

        switch(getQualifiedClassName(arg)) {
            case 'Array':
              var results:Array = [];
              for (var i:uint = 0; i < arg.length; i++) {
                  results.push(inspect(arg[i]));
              }
              if (bracket) {
                str = '[' + results.join(', ') + ']';
              } else {
                str = results.join(', ');
              }
              break;
            case 'int':
            case 'uint':
            case 'Number':
              str = arg.toString();
              break;
            case 'String':
              str = arg;
              break;
            default:
              str = '#<' + className + ':' + String(arg) + '>';
        }
        return str;
    }

    var r:String = inspect(args, false);
    trace(r)
    ExternalInterface.call('console.log', r);
  }
}

その log.as が置いてあるところを flex-config.xml の source-path に追加

      <source-path>
        <path-element>/home/gorou/svn/flex2/libs</path-element>
      </source-path>

その後普通に log() 関数をを使ってコンパイル(import の必要なし)で使えるように。

prog_actionscript30.pdf

12:08 | はてなブックマーク - prog_actionscript30.pdf - #生存戦略 、それは

最初にこれ嫁よ、って話ですよね。

A Happy Life / 林原めぐみ

00:59 | はてなブックマーク - A Happy Life / 林原めぐみ  - #生存戦略 、それは

いまこれ。もう二十回ぐらい泣いたというか名曲過ぎる早くも今年のベスト3入りするであろうと思われるほど名曲 haihai anime animeとか云ってないで絶対聴くべきだよ!!! 原曲・歌詞・アレンジ・歌の表現力どれも素晴らしすぎるよなんなんだよと思います。

A Happy Life

fub.net 0.9.4.2

00:43 | はてなブックマーク - fub.net 0.9.4.2  - #生存戦略 、それは

あれ、up2date で 0.9.4.0 以降自動でアップデートされないでしょうか?すっかり最新になっていたつもりだったのですがホイールクリック挙動が直ってなかったのでバージョン見てみたら 0.9.4.2 でした。オフィシャルの fub_net0940.zip を落としてきて解凍して up2date 実行しても更新が無いと表示されます。

また

http://madchester.s54.xrea.com/archives/fub_net0942.zip

にもアーカイブは無い(0941はあります)みたいです。

fublogfublog2007/02/19 12:05すいません、アーカイブは置いておきました。アップデートできなかった理由は分かりませんが、バージョンを見ているわけではないので、古いのを置いておいても更新可能なわけではありません。up2date/rss.*を削除すると全て最新化できます。

secondlifesecondlife2007/02/19 12:16up2date/rss.* を削除して最新化できました。
ありがとうございます。

nitoyonnitoyon2007/02/21 01:55> AS3 で Singleton
完全 singleton にするなら
public function Singleton()
{
if(__instance)
{
throw new ArgumentError("");
}
}
とするのがお薦めです。

AS3 のコンストラクタは private にできないのが悲しいところです。

secondlifesecondlife2007/02/21 13:47oh, そうですね>シングルトン
コンストラクタの存在をすっかり忘れてました。