閑古鳥

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

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

部分適用

def add(x: Int)(y: Int) = x + y val add2 = add(2) _ println(add2(3)) // => 5と書く事ができるらしい。が、こうすると、 //println(add(4, 5)) println(add(4)(5))上の書き方ができなくなる。 def add(x: Int, y: Int) = x + y def add2 = add(2, _)みた…

Scala

流行っているらしいのでインストールだけしてみました(何周遅れ?)。 インストール MacPortsで一発。 sudo port install scala alias(zsh) 実行しようとすると cal コマンドと打ち間違えていないかと zsh がうるさいので correct を無効化。 alias scala='noc…

押したボタンによって生成するオブジェクトを変更したい場合などに、どういうコードを書くのが一番短く書けるだろうか

C++

ボタンと言うかまぁなんでもいいのですけど、引数に応じて生成されるオブジェクトを変更したい場合。それぞれのオブジェクトを生成する(newする)関数を作成し、それを配列に入れておいて、ボタンのインデックスに応じて呼ぶ関数を切り替えるのはどうか。最初…

融通が利かないなぁと思うところ

C++

まぁ当たり前のことなのですけれど……。 1 std::vector<float> x; std::transform(x.begin(), x.end(), x.begin(), std::log); // error log はオーバーロード関数なので、どの関数を呼ぶべきかコンパイラが判断できずにエラーになってしまいます。しかし、 int を渡</float>…