ToDo:
会社のホワイトボードに
[](){}();
とか書いてあって、 C++0x のラムダキモいとかいう話をしてたのかなぁと思った。 でもなんか思い出してみると記号だけで似たようなもん書ける言語ってのは いくつかあって、
->{}[] ->{}() (\()->())()
とかも書いておいた。 他もありそうだなぁと思ったけど思い出せなかった。
この手の syntax って最初に見た時はびっくりするけど、 慣れるとまぁなんでもないんじゃないかな。 むしろ
(funciton(){ // ... })();
みたいなコードがイディオム化している JS なんかだと、 これもうちょい短かった方が良かったんじゃないかな…とか思う。
(02:03)
http://d.hatena.ne.jp/hirosegolf/
この人が FizzBuzz 54B かつ今 TCO マラソンで僕の一個上にいる人かな…
(11:28)
これ難しいなぁ…と思いつつ 適当に書いたら意外と上の方に来た。 もうほっといても予戦は通れるかな… とも思うけどまぁみんなまだ様子見だろうしな…
うーんでも結構ここから大きく得点良くするのもむつかしそうではあるなあ
(11:32)
よく式を途中のローカル変数の情報つきで dump したくなる。
例えば
a = 42 b = 90 c = 20 dump{(a + b).to_f / c}
とかしたら
6.6 = ((a=42) + (b=90)).to_f / (c=20)
とか出る、というような。
Ruby なら書けるかなあ…ということで書いてみた。
https://github.com/shinh/test/blob/master/dump.rb
呼び出し方が
binding.dump "(a + b).to_f / c"
とかいう感じで文字列で呼ぶ感じになってしまったのが残念。 なんか構文木オブジェクトとか取れるといいんだろうね… あとインスタンス変数とかグローバル変数とかも対処した方がいいし、 途中のメソッド呼び出しとかも対応するといい気もするけど、 まぁこんなもんでもそれなりに良い気もする。
C++ ってか Boost::lambda ならこういうのできていい気がするな…
http://blog.livedoor.jp/sasata299/archives/51382345.html
を参考にさせてもらった
(16:51)
前 | 2011年 4月 |
次 | ||||
日 | 月 | 火 | 水 | 木 | 金 | 土 |
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
全てリンクフリーです。 コード片は自由に使用していただいて構いません。 その他のものはGPL扱いであればあらゆる使用に関して文句は言いません。 なにかあれば下記メールアドレスへ。
> (funciton(){
> // ...
> })();
そこでCoffee Script、なんですかね。(まだ触ってないですが)
do() -> ... と書けるらしいです。しかし(function(){ ... })()にしろdo() ->にしろ、これの必要性っていまいち直感的じゃないですよね…。よく書き忘れます。