タグ: scheme

Gauche 穴掘り法で迷路作成

穴掘り法という迷路作成アルゴリズムを使って、迷路を作成するプログラムを Gauche で作ってみた。 (use gauche.sequence) ; for-each-with-index (use srfi-27) ; random-source-randomize! (use srfi-19) ; date-nanosecond (use math.mt-random) ; <merse…続きを読む

最短経路探索プログラム Gauche 版 その2

最短経路探索プログラム Gauche 版 を "「人材獲得作戦・4 試験問題ほか」を解いてみた(2) | 山本隆の開発日誌" で紹介されていた "通った経路に文字を埋めてゆく方法" で書いてみた。 今回はマップのデータを文字のリストから成る行リストで作る。 隣接する座標に一歩づつ移動して経路を記録して文字を埋めてゆき、ゴールが見つかった時点で call/cc…続きを読む

最短経路探索プログラム Gauche 版

最短経路探索プログラムの問題を、今度は Gauche で解いてみた。 こちらは、スタートからの移動距離を記録してゆき、ゴールから戻るかたちで最短経路にマークを付けてゆく方法で作った。 マップ座標(x, y)をキーにするハッシュテーブルでマップデータを作り、マップ上の "文字"、移動先の"座標リスト"、スタートからの"移動距離" を値とした…続きを読む

カード配り問題(10分プログラミング)

"Latest topics > カード配り問題 – outsider reflex" や "10分プログラミング – hogehoge" を見て、自分も "10分でコーディング|プログラミングに自信があるやつこい!!" をやってみた。 カード枚数が足りない場合を考えていたら20分かかってしまった・・・ var d…続きを読む

Scheme で音楽

Impromptu: Scheme ベースのライブコーディング環境 – Radium Software Scheme でリアルタイムにコードを書きながら音楽を作っている。 ryukyu がいい。 おもしろいな。

Gauche で CSV 形式のデータをソートする

Gauche でクイックソートを利用して CSV 形式のデータをソートする。 クイックソートについては、"M.Hiroi’s Home Page / お気楽 Scheme プログラミング入門" を参考にした。 この例では、CSV ファイルの読み込みは省略して、リスト化されたダミーデータを定義して使っている。 CSV ファイルの読み込みについては、"Gauc…続きを読む

Gauche で CSV 形式のデータを読み込む

make-csv-reader で、入力ポートを引数とする手続きを作る。 この手続きはポートからレコードを1つ読み込み、フィールドのリストを返す。 port->list を使って、返されたフィールドのリストをリストに追加していく。 (use text.csv) (define (read-csv file) (let ((reader (make-csv-reader #\,))) (cal…続きを読む

Gauche ディレクトリに関する操作

file.util モジュールを使って、いろいろなディレクトリ操作をする。 (use file.util) ホームディレクトリを調べる (home-directory) gosh> "/Users/hoge" カレントディレクトリを調べる (current-directory) gosh> "/Users/hoge" ディレクトリを移動する 移動…続きを読む