プログラミング 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を実行する関数を作ってみました。間違ってるよとか、つかいづれーとか、もっと言い書…

太っ腹な企画

はてなブロガーの本まとめて欲しい!B賞!B賞!

(Carbon|Cocoa)Emacsと環境変数(主に$PATHについて)

Emacs を Spotlight から起動すると、 PATH=/usr/bin:/bin みたいな事になっていて、shell-command とかを使う時に悲しい感じです。 普段使っている shell から $PATH を引き継いでくれると僕はすごく助かる! というわけで、僕は以下のような elisp を書いて…

Re: ローカル変数で「L」とか「D」の変数名を使うやつ!

コメント欄に書くには長くなりそうだったので、エントリ立ててみた。 ローカル変数で「L」とか「D」の変数名を使うやつ! - Pashango’s Blog PythonだってUPPERCASEは定数なのは暗黙の了解です(怒られないけどね)、なんでそれをわざわざ使うのかということ…

ほげほげ欲しい!について

日記に書いてトラックバックとかにしておくと、僕みたいな人間は釣られますね! 欲しい!記事書く すごく久々の更新がそんな記事なので落ちこむ とりあえずもうひとつ記事書いてみる つまりはてなはもっと欲しい!をやるべきなんだな!

blogpet のアクセス解析が停止していた件について

なんでだろう。。設定変更した覚えないのにな。。

読み難いワンライナー

はてブを眺めていたら以下のような質問を見付けたので、解説してみるよ! perl の構文に関する質問です。 このコードが何をやっているのか教えてください。 $_=3x(1E3-1),s/3/++$p%3*$p%5?7:5x$p/ge,print s/5//g 以下のコードと同じで3または5で割り切れる10…

[PR]Tシャツ欲しい!

はてなTシャツ2009欲しい!のだ!

すごい出遅れた

本年もガンバっていこうと思います > 新年の挨拶

漫画喫茶などで濃いホットココアを飲むためのライフハック

条件 容器に氷を満たして熱いココアを注いでアイスココアにするタイプの装置がある お湯がある 方法 ホットを飲みたいが、構わずアイスココア用のボタンを押す お湯で薄められていない濃いココアが出てくる そのままだとさすがに濃すぎるので、お湯でいい感…

最近はwassr始めたヨ

http://wassr.jp/user/kengpong 仲良くしてネ!

php-mode contributerのLennart Borgmanからメールが来た!

昨日久しぶりにメールを確認したところ、Lennart Borgmanからメールが来ていた。 全然知らない人だと思っていたのだけど、内容見て php-mode.el の中を見てみたら、どうやらメンテナ?の人らしい。 内容を解釈すると、どうやら僕が以前書いたEmacsのphp-mode…

PHP配列での添字指定方法

PHP

1 echo $array{0}; //=> 1 僕は今日まで後者の書き方が出来る事をさっぱり知らなかったのだけど、こういう書き方って普通知ってるもの? http://d.hatena.ne.jp/gegegen/20080524/1211622711に出てるコードで後者の書き方をしているところがあって、これ動…

yasnippetを使ってみた(php-modeアルヨ!)

yasnippetの便利さについては yasnippetがすごい!!!!1112345! - Kentaro Kuribayashi's blog yasnippet + phpは 話題のyasnippetのphp-modeをインストールしてみた - 大阪で働くソーシャルゲームエンジニア ダイアリー で、上記を参考にして使ってみたんだけ…

EmacsでPHP書く時(php-mode)に感じる不満点まとめ

不満点をあげていく事によってEmacs使いの方々からツッコミが入る事を期待しています。 解消したら随時アップデートする! 前提 今までvim使い その前は秀丸使ってた 仕事で書くコードは9割方PHP ここで言うEmacsとはCarbon Emacsの事、もうちょっと詳しくは…

Emacsのphp-modeでインデントが妙な事になる件

タイトルの通り*1で、なんか僕の環境だと、インデントが数十個みたいな意味分からん事になる。 僕は良く

redmine install memo

http://redmine.jp/tech_note/install/の通りにやれば大体出来ます。 1点ちょっとはまったのがDBの初期化処理で # rake db:migrate RAILS_ENV=production no such file to load -- iconvという感じでストップしてしまった事。 FreeBSDのportsからRubyを入れ…

配列の添え字について

PHP

'boolean', 1 => 'integer', '1' => 'string', 1.0 => 'float', ); echo $a[true]; //=> float echo $a[1]; //=> float echo $a['1']; //=> float echo $a[1.0]; //=> float $a = array( true => 'boolean', 1 => 'integer', '1' => 'string', // 1.0 => 'f…

最近の僕はTwitterによくいるよ

http://twitter.com/kengpong