Snow Leopardのblockのクラス階層

どうやらblockはオブジェクトらしい。クラス階層を追ってみた。

単純なblock

int (^test)(int a, int b);

test = ^(int a, int b) {
    return a * b;
};

Class c = [test class];
while(c) {
    NSLog(@"%@", [c description]);
    c = [c superclass];
}

結果

__NSGlobalBlock__
__NSGlobalBlock
NSBlock
NSObject

blockの外のスコープの変数を参照してみると別クラスに変わった。

int n = 3;
int (^test)(int a, int b);

test = ^(int a, int b) {
    return a * b * n;
};

Class c = [test class];
while(c) {
    NSLog(@"%@", [c description]);
    c = [c superclass];
}

NSLog(@"test(3, 4) = %d", test(3, 4));

結果

__NSStackBlock__
__NSStackBlock
NSBlock
NSObject
test(3, 4) = 36

__blockとか使ってるとまた変わるのかも。

めがねv1.0.1

今更ですが、めがねのv1.0.1を

http://www.nakiwo.com/software.htm

に置きました。

変更点は、"universal binary化"のみです!まさに今更!

実は随分前に作業は終わっていたのですが、
テストを熱心にやっていなかったので中々出す気がせず。。。
またずっと放置してしまいそうだったのでとりあえず置いてみました。

後、v1.0.0はOSX10.3以後対応でしたが(10.2でも動いたかも)、
今回は10.4以後。いいよね。もう。

とはいっても10.4ではテストしてませんが。。

7 回消去または 35 回消去を行った場合の、ディスクユーティリティの“内部エラー”

やられた...。これはひどいなぁ。

Mac OS X 10.5 (Japanese): 7 回消去または 35 回消去を行った場合の、ディスクユーティリティの“内部エラー”
http://support.apple.com/kb/TS1642?viewlocale=ja_JP

Macでsubversionのツール

で落ち着いた。Versionsが有料になるまでは無料で最強セットではなかろうか。

  • Versionsで外部diffツールをTextWranglerに設定。
  • TextWranglerのフォントとかその他もろもろいい具合に設定。

Cave Story for WiiWare

洞窟物語が遂にWiiで!

http://www.cavestorywii.com/
http://www.forest.impress.co.jp/article/2008/10/07/wiicavestory.html
http://press.nintendo.com/articles.jsp?id=16456

すごいことになってるなぁ。
Pixel氏の作品で遊ぶ人が増えると思うと単純にうれしいです。
おめでとうPixel!

(Mac版もよろしく->http://www.nakiwo.com/software.htm)

よくあるお問い合わせ

nakiwo2008-10-03


我が家のトイレ。操作はリモコン。

自分で使っていても毎回違和感がある。たまにある来客から何度か問い合わせを受けた事項。

『どうやって流すの?』

この問いを発する人は、用を足した後に流す段になってから問題に遭遇しているため、聞く方も答える方も非常に気まずい。なんとかならなかったのかなぁ、このインターフェース。

正解は、『便器洗浄ボタンを押す』。

仕様書レベルだったら別にいいんだけど、日常会話ではまず通じないよなぁ、『便器洗浄』。