2008-03-01から1ヶ月間の記事一覧

俺言語暫定終了

rubyとluaとcを足して3くらい右シフトしたやつ. fun main() { print( fact(5)) // => 120 a = Point( 1, 2) a.pn() // => 1, 2 a.x = 4 a["pn"]() // => 4, 2 c = a c.y = 99 print( a.y) // => 99 書き換わってる… } fun Point(u,v) { var obj = {.x = u, …

俺言語とセミコロン

セミコロンを省略できるようにと,パーサと悪戦苦闘をしたあげく,スキャナ側で不要な改行を削るようにしてみたのだが,どうにも上手くいかなかったので,RHGのパーサの部分を読んでみた.スキャナで処理するところまではよかったのに,その後の爪が甘かった…

俺言語とクロージャ

ケース1: fun main() { var f; m = 1; { var m = 2; f = fun() { print( m); var m = 3; // このmは無名関数のローカル変数 print( m); }; } f(); // => 2, 3 print(m); // => 1 } ケース2: fun main() { var f; var m = 1; { f = fun() { print( m); }; var…

俺言語

cで;いらなくね?とか構造体もデザイネータがあればいけるんじゃね?と行き当たりばったりに弄っていたら訳が分らなくなってきた.ちゃんと考えないと.こんな感じになるといいなあ a = { .x, .y } a.x = 2 // セミコロン不要 a["y"] = 9 // ハッシュ?でも…

擬陽性からの回復

ウィルス疑惑 - ロバの耳で書いた,TCCのウイルス疑惑が気づいたら直ってた.TCCのソース読みも再開したいところ.

inject

class Array def sum() inject{|x,i| x+i } end end def f(n) n % 7 end def g(n) # 3*f((1..7).inject{|x,k| x+k**n}) 3*f((1..7).map{|k| k**n}.sum) end p f(10) #=> 3 p g(6) #=> 18 injectがいるのが気持ち悪く感じる体になってしまった.合計を求める…