Gauche:Cookbook
Gauche
:Cookbook
Gaucheクックブック
http://d.hatena.ne.jp/rui314/
目次 - Gaucheクックブック
http://d.hatena.ne.jp/rui314/20061219/p1
(2021年現在、リンク切れ)
Gauche:gdumpfs
Gauche:LogScanner
Gauche:ディレクトリを再帰的に処理
ソースファイルの行数カウント
directory-for-each
directory-traverse
globを使った簡易版
Gauche:イディオム
関連
何も返さない
#<undef>を返す
#<eof>を返す
exprが#fなら#fを、さもなければ#tを返す
文字列の連結(最初の2つを除けば文字列以外でもかまわない)
n回の繰り返し
map して filter
thunk をつくる
確実に後処理をする
手続き間の状態共有
連想リストから値を取りだす
Scheme:テキスト処理
行末のコメントを除く
base64エンコーディング
grep
TABを空白に変換する
ファイルfoo.txtを一行づつ読み込む
コマンドの出力を取る
文字列を(空白などで区切られた)単語に分割
行末の改行文字を削除(perlのchopやchompみたいなの)
文字列の最初のn文字だけを落す
CSVファイルを読む
Scheme:イテレータスタイル
Scheme:Tree
関連ファイル
木の統合
与えられた木から、子→親への対応を作る
木の統合 (親 子 孫 ひ孫 …)
foldts
Scheme:末尾再帰で木をトラバース
関連
Scheme:リスト処理
数値リストのコンパクトな表現
single?
pos+
木の統合
集合の統合
リストの分解
Quasiquote Magic
リストへの要素の追加、削除
ちょっと変わったリスト上の繰り返し
mapl
逆mapl
与えられた木から、子→親への対応を作る
木の統合 (親 子 孫 ひ孫 …)
Gauche:入出力ポートの使い方
入出力ポートの使い方メモ
印字出力を霞め取る
対話型のコマンドと対話する
Scheme:多値
方法 - どうやって使う?
現象 - どんな時に使われる?
価値 - どんなメリットがあるの?
意味 - そもそも多値の意味するところは?
参考リンク
議論
0個の値を取る継続?
可変長引数を取る継続
継続に渡す値の数のミスマッチ
多値の引数へのスプライシング
継続のarityとCommon Lisp的動作
Strict な言語での多値の意味
Perl は多値を実装していない?
Scheme:コーディングスタイル
コーディングスタイル
ifのbegin
括弧の位置
let式
if式
関数定義
関数のサイズ
編集環境
括弧を書くタイミング
emacsのキーバインディング
括弧挿入のキーバインド
全体的なコメントはこちら
Scheme:!と?
!の返り値
!の返り値が「利用できてしまう」もの
!の返り値を「利用せざるを得ない」もの
?の返り値
#f, #t以外を返す?-関数
述語としてもよく使われるが、#f, #t以外を返すために?がついていないもの
その他の記号
/
*
$
%
:
|
0, 1, ...
#
&
この問題に関する議論
参考
Lisp:コメント
Lisp/Scheme な人へ(もしかして嫌な)質問。
Lispシステムとコードドキュメントシステム
Lispハッカーの習慣
Scheme:初心者の質問箱
プログラムの中でGaucheのバージョンを得る方法
raise したコンディションを捕捉できない?
<class>オブジェクトを得る方法
オブジェクトシステムで next-method がない場合のエラーに関して
displayタイプの表示のpprint
tls の使用
hash-table の変更
get-gauche.sh でのテストエラーに関して
Windowsにおけるtools/build-standaloneについて
tools/build-standaloneについて
\0 区切りの文字列の read
対話的に起動した際、使用する文字コードを指定することは可能でしょうか
対話的に起動した際、C-r で履歴をインクリメンタルに検索する設定は可能でしょうか
R7RSモードでの起動時の-lで指定したロードファイルの挙動について
SRFI-49で開きカッコがネストしている場合の書き方
連想リスト(Association list)の形式について
バックグラウンドで動かすにはどうすれば良いでしょうか
Typo報告
delete! の作用について
shutdown 後に socket-status が返す値
while 内の唐突な代入について
Gauche の、Racket との違いと評価順序について
ブロック内で call/cc とその他を並列にしたときの継続の中身
メール送信の方法
R5RSマクロ中のdefineについて
部分スプリット
なぜSchemeはstatic scopeで設計されているのでしょうか。
ナンバープレイス
Gaucheで実行中のコードを差し替えるには?
Lisp を書くのによいキーボードは?
「Schemeについてどう思うか」についてどう思うか?
cycle関数
doとwhile
/proc/self/statが使えない場面で
リストから組合せを作りたいのですが…
関数の呼び方
RedHat EnterpriseLinux ES release 4でthreadのテストに失敗する
この正規表現の問題をどうやって解いたらよいか教えてください。
hash-tableのキーに関数を使うのはNGなんでしょうか?
xml->sxmlの逆変換
グローバルなマッチ
WindowsでGaucheからOpenGL
おしりの$
stream と副作用
循環リストのlength
NaN == 0?
Lisp の間違いな機能
読むテクニック
even-stream
eval
portの条件
gauche.vportの内と外で継続を辿りたい
不完全文字列
partcont.scm
sys-unsetenv
practical-scheme.net
中身が1つだけのcollectionから中身を取り出す。
集合的なリスト
equal?で比較するcase
エラーの起きた環境で REPL
cygwinでOpenGL
let* は控えるべき?
分かってしまえばなんてこと無いけど難しかったこと。
R5RSについての疑問
実プロダクトでのScheme活用事例
Gaucheの拡張方法
http-get
Scheme学習に関して
Schemeが最強って本当?
Common Lispと比べると長所・短所は何でしょうか?
関数型ってなに?
carを循環させたリストをdisplayするとSegmentation fault
variable capture in gauche.test ?
WiLiKiがqdbmで動作しない
変数名を値とする文字列から変数の値を得る方法
インスタンスを作成するマクロを書く場合のクォートの仕方について
モジュール・マクロ・ eval についての質問
例外と継続
リストの構築
define と set!
object-apply を以前の値に戻す方法
parse-options (gauche.parseopt) についての質問
外部プロセス呼び出しができない
WilikiのWriter Macro中でのcurrent-page参照
Schemeによる実行ファイル(.exe)の作成法
sys-strftimeについて
http-postのバグ?
GLUTを対話モードで使うには?
マクロを生成するマクロでの...の扱い
condの第二形式で多値を扱う
define の返す値
cygwinでのマルチバイト文字列の取扱い
(/ 10 0) => #i1/0
例外が飛んだときに、ソースコード上の位置を知りたい
cygwinでのインストール
デバッグの方法について
Last modified : 2021/02/06 03:39:03 UTC