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
わさお
最近わさおが何なのか知った