閑古鳥

オールドプログラマの日記。プログラミングとか病気(透析)の話とか。

2008-02-21から1日間の記事一覧

パイプで遊ぶ

Pipeline operatorを見て、ただ関数呼び出しの変形をしているだけで何が嬉しいのだろうと思っていた頃が私にもありました(AA略)。関数呼び出しが何重にもなっているとありがたさが実感できる気がします。 let H dummy = printf "H" let e dummy = printf "e"…

pstade::egg::pipable

C++

ベイダー日記の方更新してから思い出したけど、C++でPipeline operatorのようなことって、pstate::eggで既にやっているのを見たような……。 http://vader.g.hatena.ne.jp/wata_d/20080221/1203583962 探したらありました。 #include <iostream> #include <pstade/egg/pipable.hpp> using namespa</pstade/egg/pipable.hpp></iostream>…

F#の Pipeline operator もどきをC++で実装してみた

C++

>演算子をオーバーロードして、F#の Pipeline operator のようなことをやってみました。 #include <iostream> #include <boost/function.hpp> using namespace std; int one() { return 1; } int two() { return 2; } void print_func(int n) { cout << n << endl; } struct print_obj { vo</boost/function.hpp></iostream>…

Pipeline operator

F#

> 演算子を使用するとシェルのパイプのようなことができるようです。演算子の左辺の値を右辺の関数に渡してくれます。 let inc x = x + 1 let dec x = x - 1 do printfn "%d" (dec(dec(dec(inc 3)))) do printfn "%d" (inc 3 |> dec |> dec |> dec) 上と下の…