containers

i@u ~/test/boo> cat container.boo
l = [1,2,3]
a = (1,2,3)
h = {'a':1,'b':2,'c':3}
print l
print a
print h
print l[:2]
print a[:2]
//print h[:2]

i@u ~/test/boo> booi container.boo
[1, 2, 3]
System.Int32[]
Boo.Lang.Hash
[1, 2]
System.Int32[]

配列とリストがわけてあるのは非常に良いですなあ。あと Boo primer とはなんか配列の print が違う気がするけど気にしない。

class

コンストラクタ呼出しの記法が Class("hoge") で、 new がいらないのがいい。このへんでも書いた

@u ~/test/boo> cat class.boo
class C:
        [Property(Id)]
        _id as int

        def constructor(i):
                _id = i

c = C(1)
print c.Id
c.Id = 2
print c.Id

i@u ~/test/boo> booi class.boo
1
2

継承とかはだいたい普通。

あと struct があるのも素敵。 enum も。まぁ要は .Net ということなのかな。

とりあえず primer の 14 まで見た。このへんからが面白そう。

詳説 AJA Chat

今頃だけど。長いしコメントでなくこっちに。

http://www.machu.jp/diary/20060411.html#p01

かっこいい図が!ありがとうございます。この手の図が書ける子になるとプレゼンがラクになりそうで良い。

コードは腐っています例のごとく1-2日仕事ですから。試行錯誤がそのまま残っているコード。 .sync とか .pid とかわけがわからない。 PStore とか使わずに管理しているのは貧乏症のサガと、 shell script から更新とかできたら面白いかなと思ったから(別に面白くなかった)。ちなみに紅茶はだいぶマシになっています…

no とか返すより 304 を返した方が良い、はなるほどという感です。

セッションに関しては基本的に HTTP でセッション維持をどうこうするのが好みじゃないのですが、紅茶に関してはユーザログイン時に IP を記録しておいて、その IP 以外からは入れなくしてあるはずです。維持する情報は基本的にユーザ名しか無いので、それだけでいいだろうと。

ちなみに mkdat が分離してあるのは他プロセスからも更新処理が手軽にできるように、という配慮です。 IRC とのブリッジである Assam はこれを利用しています。

なにかあれば下記メールアドレスへ。
shinichiro.hamaji _at_ gmail.com
shinichiro.h