寝過ごす
よよぎうえはらー
よよぎうえはらー
どこに置くべきかな。~/lib/ にでもおくのかな
Flickr API で exif 大量に取得しようとすると API 呼びまくるしかないっぽくてこわい。一気にとってこれるいい方法ないのかな
なんで AS の flickr 系ライブラリはリスナを登録してから呼ぶみたいになってるんだろう。
呼ぶ関数に直接関数渡せたほうがコールバックで余計な条件分岐しなくてすむのに
メソッドの一覧が for (var hoge:String in this) でとれない><
var t:XML = describeType(this);
for each (var m:XML in t.method) {
if (m.@declaredBy == t.@name) {
log(String(m.@name));
}
}これで this のクラスに定義されたメソッドだけをとれる、っぽい。
wget http://as3flexunitlib.googlecode.com/files/flexunit-.85.zip unzip flexunit-.85.zip cp flexunit/bin/flexunit.swc ~/sdk/flex_sdk_2/frameworks/libs/
とりあえず
package {
import flexunit.framework.Test;
import flexunit.framework.TestCase;
import flexunit.framework.TestSuite;
import flash.utils.describeType;
import Rational;
public class RationalTest extends TestCase {
public function RationalTest(methodName:String) {
super(methodName);
}
public static function suite():TestSuite {
var ts:TestSuite = new TestSuite();
var t:XML = describeType(RationalTest);
for each (var m:XML in t.factory.method) {
if (m.@name.match(/^test/) && m.@declaredBy == t.@name) {
ts.addTest( Test( new RationalTest(String(m.@name)) ) );
}
}
return ts;
}
public function testTrue():void {
assertTrue("trueTrue", true);
}
public function testRationalInit():void {
assertEquals("(new Rational(2, 6)).numerator == 1", (new Rational(2, 6)).numerator, 1);
assertEquals("(new Rational(2, 6)).denominator == 3", (new Rational(2, 6)).denominator, 3);
}
public function testToString():void {
assertEquals("String(new Rational(2, 6))", String(new Rational(2, 6)), "1 / 3");
}
public function testAdd():void {
}
}
}みたいに書いたけど (途中) 、かくのがめんどい。メタプログラミングしたい!
なんか ^ が効かないんだけど!!
というかそもも regexp だめなのか
XML 宣言の有無でエラーになったり (Spidermonkey) とか、XML オブジェクトに繋げるメソッドの動きとかが微妙にちがくてはまる。
AS3 でヒアドキュメントしようとおもって
var data:String = <> my input lines --- expected expected output </>.replace(/¥t/g, "");
ってやると \t 消えない。
var data:String = <> my input lines --- expected expected output </>.toString().replace(/¥t/g, "");
だと消える。
Perl めも
do { local $/ ; <$foo> } 暗号杉
use File::Slurp;
夕食後に寝てたら腹痛で起きた……