proglog

主にプログラミングに関する断片的メモ

2010-04-01から1ヶ月間の記事一覧

Gaucheのhttp-postとrequest-encoding

またまた、http-postのこと。 第3引き数のbodyを、リストタイプで指定して、例えばeuc-jpで送りたい。 このケースでも、bodyそのものの文字コードは自前で変換なのかな、という話。例えば、以下のようなソースだと、request-encodingにeuc-jpを指定しても、…

GacuheのDBアクセスと例外処理

いわゆるtry-catch-finallyみたいな感じでデータ−ベースコネクションをクローズしようとしたら、guard構文にdynamic-windというのを使うんだろうか。 (use dbi) (use gauche.collection) (let ((conn #f) (query #f) (result #f)) (guard (e ((<dbi-error> e) ;; handle</dbi-error>…

CygwinでGaucheのtrunkをビルドしてみる

結論からいうと、現在のところ、成功していない。trunkのリビジョンは7112現在使っている、リリースのGauche 0.9がそのままシステムにある状態でビルド作業をしている。make時のエラーは以下の通り。 GAUCHE_LOAD_PATH="" GAUCHE_DYNLOAD_PATH="" gosh -l./p…

(続)CygwinでGaucheのtrunkをビルドしてみる、と、http-post

結論からいうと、うまくいった! というか、シンプルにいけるものだったんだ。trunkのリビジョンは7112現在使っている、リリースのGauche 0.9がそのままシステムにある状態でビルド作業をしている。いろいろとあった紆余曲折は、結局リビジョン7111とリビジ…

Gacuheのhttp-postについて

使い方がよく分からない、という記事です。分かっていることを整理環境:Gauche scheme shell, version 0.9 [utf-8,pthreads], i686-pc-cygwinで。 文字列 第3引き数bodyを文字列で渡した場合 (http-post svr path "test=aaaa&test2=bbbbb") phpのprint $_POS…

マクロ:回数制限つきループ

マクロの練習も兼ねて、C言語系のforループに回数制限を付けたものを書いてみる。例えば、"numloop"をその名前とし、20回を制限として、下記のような感じで使えるもの。 (define lst '(1 2 3 4 5 6 7 7 7 8 8 8 4 3 22 14 34 1 2 1 () 1 3)) (numloop 20 (it…

Meadow、cygwinでgist.gighub、gist.elで。

gist.elは defunkt's gist.el at master - GitHubから。 githubのアカウント 鍵の作成と貼り付けは、 Help.GitHub - Generating SSH keys (Win/msysgit)の手順通り。 passphraseは空でいい感じ。 ssh-keygenは、Netパッケージの中のopensshに。アカウントが…

Meadow、Lookup、Hyper Estraier

全文検索システムをwindows、Meadow、apacheで使う。 hΛlの使ってるアプリ関係のメモ(2007-04-29)によると、拡張ElispのLookupを使うらしい。公式サイト 全文検索システム Hyper Estraierからwindowsバイナリパッケージ。展開して"C:\tools\hyperestraier"に…

スクレイピング、例外処理のメモ。

処理系はgauche。 使用したライブラリは、 HtmlPragのversion 0.16。 http://www.neilvandyke.org/htmlprag/htmlprag-0-16.scm 最新版はPLT Schemeベッタリとか書いてあるっぽい。下のソースはライブドアクリップのとあるユーザーのページから、使われてるタ…

sxml、sxpathの使い方をメモ

sxpathは、xpath式を評価して、ノードを取得するクロージャ−を返す。 そのクロージャ−は結果を、sxmlのリストで返す。 ヒットするものが一つでも。 式がヒットしなかった場合は()が返る。 (use sxml.ssax) (use sxml.sxpath) (define xml-data "<html> <body> <h1>xml xmpath</h1></body></html>…

識別子で驚かないために

Schemeを触りはじめて、その識別子の構成の自由さにびっくりした。 というか、識別子なのか、何か文法上の特別な記法なのか、パッと見では混乱することがある。そこで、r5rsを見て、ちょっと整理。 よく分からないのもあるけど。 ;;schemeで可能な識別子 ;;!…

Kahuaをcygwinにインストールしてみる。

結論からいうと、なんとなく、動いてる感じ。 取り敢えず、 サンプルアプリケーションのlambda-booksにログインして、レビューを書いたら反映された。 同じくwiki-ikiで新規ページを作成して日本語で書き込めた。 、ってとこまで。以下は作業記録 cygwinは1.…

howmsplit:引き数処理に継続を使ってみる

gaucheによるディレクトリ、テキストファイル処理。関数の引き数で、定義域から外れるものが渡されたら、すぐさま例外を投げて終わる、みたいなこと。今回は、エラーメッセージの表示と組み合わせてみることに。これを継続を使って書いてみる。変わったのはm…

howmsplit:ファイル名、文字コード

だいたいの雛形。 sjisのcygwin、そのcygwin上のgauche、utf-8のソースで処理対象ファイル名に日本語が含まれているケース。指定されたディレクトリ以下のhowmの1日1ファイル形式のファイルを読み込んで、拡張子をテキストにして出力。 howmファイルはsjisで…