2009-11-21 20:06
5903 デフォルトの名無しさん sage 2009/11/20(金) 07:41:05 ID:
Y Combinator ってこれであってるのかな…
package main
func main() {
fact5 := func(f func(func(int)int)(func(int)int)) (func(int)int) {
return func(proc interface{}) (func(int)int) {
return f(func(arg int)int{return proc.(func(interface{})(func(int)int))(proc)(arg)})
}(func(proc interface{}) (func(int)int) {
return f(func(arg int)int{return proc.(func(interface{})(func(int)int))(proc)(arg)})
})
}(func(f func(int)int) (func(int)int) {
return func(n int) int {
if n == 0 { return 1; }
return n * f(n - 1);
}
})(5);
println(fact5);
}
2009-11-21 15:46
lazy_evaluationというフラグをONにすると、コンパイラが異常に速く結果を届けてくる。VMが中をトラバースしてテンプレート展開を実行して行くと、ところどころににProcオブジェクトがある。ヘンだなと思ってcallすると、中の人があわててテンプレートの一部をコンパイルしている。「中の人も大変だな」などと言っている場合ではない、こちらはすでに実行フェーズに入っているのに、今頃コンパイルしているとは何事だ。念のため、隣の枝も見てみるとあっちもこっちもProcだらけで中の人はみんなサボっている。こいつら、みんなあわよくば仕事しないですませる気だな。「コラ、マジメにやれ!」と起こそうとすると、さきほどのProcが結果を出してきたので、しょうがなくそいつらはほっておいて、続きをやる。そうするとその中にもまたProcがあって中の人が・・・
とこんなイメージでやるとみんなが真面目に仕事するよりはやく終わった、という感じである。なんであれ、lazyな方が勤勉な奴に勝つのは気持ちがいい。
2009-11-21 10:46
Ruby 1.9で導入されたObject#tapはRuby 1.8でも1.8.7から使えるようになった。 tapメソッドとは何かというと、自分自身にブロックを作用させて自分自身を返すだけのメソッドだ。
2009-11-20 1:56
利用したことのあるサービスには、「フリーメール」(80.2%)、「動画共有」(69.8%)、「ソーシャルネットワーキング」(55.6%)、「ソーシャルブックマーク」(19.8%)、「つぶやきコミュニケーション」(17.5%)、「オンラインストレージ」(15.1%)が挙げられた。
2009-11-20 1:55
調査結果によると、ネットショッピングについて、ユーザーの約7割が個人情報の流出に不安を感じているものの、約9割が今後も利用を続けるという。
ネットショッピングを利用したことがあるユーザーは全体の95.7%。利便性については、ほぼ100%のユーザーが認識しているという。一方、個人情報の流出に不安を感じているユーザーは約7割。
2009-11-19 2:46
神宮寺容疑者は「祈とうだった」と容疑を否認しているという。
2009-11-18 17:21
VMware ESXi
容易に実現できる無償の仮想化ソリューション
2009-11-18 9:07
この冷蔵庫は、アンモニア、ブタン、水による化学反応を利用し、熱を「原材料」として冷却を実現する。 液体ブタンの入った蒸発器(エバポレーター)に気体のアンモニアを放出すると、ブタンは沸点が下がって蒸発する。そのとき周囲のエネルギーを吸収するので、蒸発器の外側が冷やされる。ブタンとアンモニアの混ざった気体は、水で満たされた凝縮器(コンデンサー)へと送られる。アンモニアはそこで水に溶け、ブタンは液体へと凝縮し、アンモニア水溶液の上に層を作る。このブタンは再び蒸発器に戻される。ここで熱源を使ってアンモニアを再び気体に戻し、蒸発器に送り込むと、また同じサイクルが繰り返される。