A Day in the Life

2008-07-11

ExternalInterface#marshallExceptions

FlashPlayer 9.0.115 からついたらしい。な、なんだってー。これあると無いとじゃ大違いじゃんすか。

ゆの in ActionScript3

package {
    import flash.display.Sprite;
    import flash.text.TextField;
    import flash.utils.*;

    public class Yuno extends Sprite {
        public function Yuno() {
            X / _ / X < 来週も見てくださいね
        }

        public function get X():*{
            return new X365(tf);
        }

        public function get _():Number {
            return tf.appendText('ひだまり') as Number;
        }

        public function get 来週も見てくださいね():Number {
            var x:XML = describeType(this);
            tf.width = 1000;
            return (addChild(tf) as TextField).appendText(x..accessor.(@name.toString().indexOf('ね') >= 0)[0].@name.toString()) as Number;
        }

        public var tf:TextField = new TextField();
    }
}

import flash.utils.Proxy;
import flash.utils.flash_proxy;
import flash.text.TextField;

dynamic class X365 extends Proxy {
    static private var called:uint = 0;
    private var tf:TextField;
    public function X365(tf:TextField) {
        this.tf = tf;
    }

    flash_proxy override function callProperty(name:*, ...rest):* {
        switch(called++) {
            case 0:
              tf.appendText('スイッチ');
              break;
            case 1:
              tf.appendText('365 ');
              break;
        }
        return 0;
    }
}

本当は X365 じゃなくて X クラスとして定義したかったんだけど、X クラスで定義すると Yuno.as$0 という namespace に置かれる模様で、Yuno クラスの getter に X を定義してしまうと重複して呼べない(Yuno.as$0::X として呼び出す方法が解らない)。

あと演算子オーバーロードができず、 < をどうするか問題が解決せず。右辺が数値じゃないとコンパイル時エラーになってしまうんだよなー。< > XML literal tag delimiter 演算子をうまく使えばどうにかなるかなーと思ったけどどうにもならなかった。

http://wiki.libspark.org/wiki/Misc/Yuno をみてちょっと改善。メソッド名に日本語が使えたなんて!

git (log|diff) -S が超便利

タイトルママ。その文字列が加わった箇所で log や diff を表示できる。

git-log -S'Konata Izumi'  activesupport/lib/active_support/json/encoders/hash.rb
commit 7c3581cba243aa17a9f002b40c5f017d8e968492
Author: Jeremy Kemper 
Date:   Wed Oct 24 16:21:46 2007 +0000

    Document Enumerable and Hash #to_json. Add test for hash with integer key. Closes #9970.


    git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8010 5ecf4fe2-1ee6-0310-87b1-e25e094e27de

わさお

最近わさおが何なのか知った

記事の一覧 >