-> 07 { 02 / 19 }
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();
ちょさんの 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>
A Happy Life / 林原めぐみ
いまこれ。もう二十回ぐらい泣いたというか名曲過ぎる早くも今年のベスト3入りするであろうと思われるほど名曲 haihai anime animeとか云ってないで絶対聴くべきだよ!!! 原曲・歌詞・アレンジ・歌の表現力どれも素晴らしすぎるよなんなんだよと思います。
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はあります)みたいです。
トラックバック - http://subtech.g.hatena.ne.jp/secondlife/20070219
- 冬通りに消え行く制服ガールは、夢物語にリア...
- Pink Blossom Diary ( ̄―+ ̄) - as3 log()
- http://d.hatena.ne.jp/Maaboo/20070321
- http://d.hatena.ne.jp/secondlife/20070324
- はてな技術発表会日記 - 3月22日の技術勉強会 - ...
- にたまごほうれん草 - AS3を触ってみたくなっ...
- 西尾泰和のはてなダイアリー - 写経続き
- gan2 の Ruby 勉強日記 - log関数を使ってFireBugで...
- taslamの日記 - ActionScript3での開発に便利なもの
- ActionScriptで使うlog関数のエラー対策
- 西尾泰和のはてなダイアリー - 開発環境を構築...
- ぴょぴょぴょ? - Linuxとかプログラミングの覚...
- Flex SDK + Emacs + actionscript-mode.el + rascut + log.asで快...
- うなの日記 - log.asを使ってみる
- てっく煮ブログ - ActionScript 3.0 用デバッグ支援...
- てっく煮ブログ - ActionScript 3.0 用デバッグ支援...
- ActionScript(AS3)を勉強しようと思ってはじめた...
- Developer☆STYLE - Flex学習記05 - Flexのデバッグ
- 逃走航路@hatena - ActionScriptのデバッガ
- 言語ゲーム - ActionScript3 でグローバル関数を定...
- すぎゃーんメモ - ActionScriptを始めてみる 続き

ありがとうございます。
完全 singleton にするなら
public function Singleton()
{
if(__instance)
{
throw new ArgumentError("");
}
}
とするのがお薦めです。
AS3 のコンストラクタは private にできないのが悲しいところです。
コンストラクタの存在をすっかり忘れてました。