2009-11-01から1ヶ月間の記事一覧

プログラミング in OCaml #8

http://d.hatena.ne.jp/kengpong/20091107/p1 (* 練習問題 5.2 次の関数を定義しなさい *) (* 1. 正の整数 n から 1 までの整数の降順リストを生成する downto1 *) let rec downto1 = function 0 -> [] | n -> n :: downto1 (n - 1);; (* 2. 関数 roman *) l…

プログラミング in OCaml #7

プログラミング in OCaml (目次) - kengpong (* 練習問題 4.1 uncurry を定義 *) let curry f x y = f (x, y);; let average (x, y) = (x +. y) /. 2.0;; let curried_avg = curry average;; let uncurry f (x, y) = f x y;; let avg = uncurry curried_avg …

プログラミング in OCaml #6

プログラミング in OCaml (目次) - kengpong (* * 練習問題 3.13 * 練習問題 3.7 の pow 関数をカリー化して定義せよ。 *) let rec pow x n = if n < 2 then x else pow x n - 1 *. x;; (* 第一引数が指数になるように定義し、3乗する関数 cube を部分適用で…

トラックバックの動作

自分の日記内にトラックバックを打った時に、トラックバックタイトルにブログタイトルが入る場合と入らない場合がある。 プログラミング in OCaml 連載でトラックバック一覧を見る時に入り乱れてるとすごく見にくい。 今の所は、ブログタイトル入ってたら打…

プログラミング in OCaml #5

プログラミング in OCaml (目次) - kengpong (* 練習問題 3.11 以下の関数を定義 *) (* 1. ユークリッドの互除法で二整数の最大公約数を求める関数 gcd *) let rec gcd(a, b) = if a mod b = 0 then b else gcd(b, a mod b);; (* 2. 本文中で与えた再帰的な…

プログラミング in OCaml #4

プログラミング in OCaml (目次) - kengpong (* * 練習問題 3.7 * x は実数、n は0 以上の整数として、x**n を計算する関数 pow (x, n) を * 以下の2通りで定義しなさい。 *) (* 1. 計算中に pow の再帰呼び出しをn回伴う定義 *) let rec pow (x, n) = if n …

プログラミング in OCaml #3

プログラミング in OCaml (目次) - kengpong (* 練習問題3.6 次の関数を定義せよ*) (* 1. 2実数の相乗平均をとる関数 geo_mean *) let geo_mean (x, y) = sqrt(x *. y);; (* * 2. 名前(文字列)、身長(実数)、体重(実数)の組を受け取って * 「○○さんは痩せて…

プログラミング in OCaml #2

プログラミング in OCaml (目次) - kengpong (* 練習問題3.3 *) (* 式 b1 && b2 を || と not と b1, b2 のみを用いて同じ意味になるように書く。*) let before b1 b2 = b1 && b2;; let after b1 b2 = (not (not b1 || not b2));; (* 式 b1 || b2 を && と n…

プログラミング in OCaml #1

プログラミング in OCaml (目次) - kengpong (* 練習問題3.2 *) (* * 式 b1 && b2 を if 式と true, false, b1, b2 のみを用いて、同じ意味になるようにする。 * 式 b1 || b2 についても同様に。 * 簡単過ぎるようであれば if の使用を一度までにする。 *) l…

プログラミング in OCaml #0

プログラミング in OCaml (目次) - kengpong (* 練習問題 3.1 *) (* USドルを受け取って円に換算する関数 *) let dollar2yen dollar = let rate = 114.32 in int_of_float (floor (dollar *. rate +. 0.5)) ;; (* 円を受け取ってUSドルに換算する関数 *) let…

プログラミング in OCaml (目次)

前置き 前回の日記ではてな市民になれたようで、ここいらで一発ちゃんと日記書くかーというところに届きました プログラミング in OCaml。 ちょうど良いので、この本の練習問題を連載していく事にしました。どこまで続くかな? 方針 練習問題と解いた答えを書…

Re:PHPの標準関数でPOSTする方法

PHP

PHPでPOSTを送信するとなると、Pearのライブラリを使った方法が一般的だと思いますが、Pearなんて大嫌いだという人もいるかと思います。そこで、PHPの標準関数だけでPostを実行する関数を作ってみました。間違ってるよとか、つかいづれーとか、もっと言い書…