gauche
またまた、http-postのこと。 第3引き数のbodyを、リストタイプで指定して、例えばeuc-jpで送りたい。 このケースでも、bodyそのものの文字コードは自前で変換なのかな、という話。例えば、以下のようなソースだと、request-encodingにeuc-jpを指定しても、…
いわゆる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>…
結論からいうと、現在のところ、成功していない。trunkのリビジョンは7112現在使っている、リリースのGauche 0.9がそのままシステムにある状態でビルド作業をしている。make時のエラーは以下の通り。 GAUCHE_LOAD_PATH="" GAUCHE_DYNLOAD_PATH="" gosh -l./p…
結論からいうと、うまくいった! というか、シンプルにいけるものだったんだ。trunkのリビジョンは7112現在使っている、リリースのGauche 0.9がそのままシステムにある状態でビルド作業をしている。いろいろとあった紆余曲折は、結局リビジョン7111とリビジ…
使い方がよく分からない、という記事です。分かっていることを整理環境: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…
処理系はgauche。 使用したライブラリは、 HtmlPragのversion 0.16。 http://www.neilvandyke.org/htmlprag/htmlprag-0-16.scm 最新版はPLT Schemeベッタリとか書いてあるっぽい。下のソースはライブドアクリップのとあるユーザーのページから、使われてるタ…
sxpathは、xpath式を評価して、ノードを取得するクロージャ−を返す。 そのクロージャ−は結果を、sxmlのリストで返す。 ヒットするものが一つでも。 式がヒットしなかった場合は()が返る。 (use sxml.ssax) (use sxml.sxpath) (define xml-data "<html> <body> <h1>xml xmpath</h1></body></html>…
Schemeを触りはじめて、その識別子の構成の自由さにびっくりした。 というか、識別子なのか、何か文法上の特別な記法なのか、パッと見では混乱することがある。そこで、r5rsを見て、ちょっと整理。 よく分からないのもあるけど。 ;;schemeで可能な識別子 ;;!…
結論からいうと、なんとなく、動いてる感じ。 取り敢えず、 サンプルアプリケーションのlambda-booksにログインして、レビューを書いたら反映された。 同じくwiki-ikiで新規ページを作成して日本語で書き込めた。 、ってとこまで。以下は作業記録 cygwinは1.…
gaucheによるディレクトリ、テキストファイル処理。関数の引き数で、定義域から外れるものが渡されたら、すぐさま例外を投げて終わる、みたいなこと。今回は、エラーメッセージの表示と組み合わせてみることに。これを継続を使って書いてみる。変わったのはm…
だいたいの雛形。 sjisのcygwin、そのcygwin上のgauche、utf-8のソースで処理対象ファイル名に日本語が含まれているケース。指定されたディレクトリ以下のhowmの1日1ファイル形式のファイルを読み込んで、拡張子をテキストにして出力。 howmファイルはsjisで…
findコマンドの部分をscemeで書くとしたら、file.utilに入ってるdirectory-foldというのを使うとよさそう。 Function: directory-fold path proc seed &keyword lister follow-link?説明を見ると、ほとんどfindコマンドそのもののような感じ。 ディレクトリ…
schemeの継続について、今把握してることのメモ。 ざっくりとしたもの。 継続とは、call/ccが置かれた、その次の処理。 call/ccはそれを、継続という関数的なものにする。 継続に渡されるのは、call/ccに入った瞬間の環境 言ってみればスナップショット。だ…
現在、howmのメモは、 メモルートディレクトリの下に年次のディレクトリ。 その下に月次のディレクトリ。 その下に1日1ファイル。 という構造になっている。年次ディレクトリを指定したら、その下にあるファイルを全て処理して欲しい。 このディレクトリ処…
1日1ファイルのhowmのファイル名は現在、2009-04-15.howmとかいう、「YYYY-mm-dd.howm」という形式。 各メモのヘッダ行直下には「[2009-04-15 01:25] 」という、「YYYY-mm-dd HH:MM」でタイムスタンプが入っている。(タイムヘッダとする。) ここから「2009-04-15-…
この続き。ありがたいことに、コメントでアドバイスをして頂いた。 そして模範解答も。 もったいないので、整形した形でここに転記させて頂こうと思います。 shiroさん、ありがとうございます。 (use srfi-13) (define (howmsplit file) (with-input-from-fi…