2009-05-01から1ヶ月間の記事一覧

listp と consp の違い

(listp nil) => t (consp nil) => nil ふむ・・・。nil は cons ではない、と。 (atom nil) => t そして nil は atom だ、と。なんか釈然としないがそうなんだから仕方がない。

Given-When-Then

BDD 云々について調べてたら Google グループ を見つけて、んでまぁチラチラと過去ログ読んでたら GWT という(考え方の)フレームワークがあった。 Given: ○○な(状態|状況)で When: ××をしたら Then: △△(が起きる|になる) ちょっと Given というのがわかり…

リストの破壊的操作

リストの破壊的操作をする - 象徴ヶ淵 経由http://cadr.g.hatena.ne.jp/g000001/20090521/1242909362 の問題 nalist-to-plist (nalist-to-plist '((foo . 1) (bar . 2) (baz . 3))) => (foo 1 bar 2 baz 3) らしい。(key1 value1 key2 value2 ...) という li…

#n# とか #n=ナントカ とか

ちゃんとした説明を読んだことが無いので間違ってるかもしれない。この記法(?)のちゃんとした名前を、そんなものあるのかどうかも知らないけど、知らないのでどう調べていいのかわからない。"common-lisp #n#" とかでググっても # が無視されちゃうみたい…

lisp の説明をする簡単なお仕事です

バイト先にコンピュータ関係の学科の大学生がいて、何を間違ったか lisp の勉強をし始めたらしく(プライベートで)、バイト中に lisp の質問をしてくる。 「2番目の要素」? なにやら lisp の本を読んでるらしくて、例題にあった「与えられたリストの2番目…

データっていうか高階関数なら使えます

データが扱える人を探せ! - 象徴ヶ淵 経由 JAVA5.0でGO!! | プログラミングに自信があるやつこい!!こないだ トランプを配 ったらトラックバックをもらったのでお礼?お返し?に、という建前で遊んでみた。こーゆーの楽しい。ついでに言うと他の人の見…

symbol-value と boundp はlexical な binding を無視する

(let ((x 'foo)) (symbol-value 'x)) => 変数が定義されていません: x (let ((x 'foo)) (boundp 'x)) => nil なんで・・・ Notes: The function bound determines only whether a symbol has a value in the global environment; any lexical bindings are i…

interactive で任意の動作をさせる list について調べた

selection があれば selection の region があれば region の C-u されてれば、現在行の前後の行の C-u されてればバッファ全体の それ以外なら現在行の start と end を受け取る interactive なんてのがあれば便利かなぁ、という気がしたので作ってみる。 …

interactive で任意の動作をさせる list のまとめ

interactive の引数として list を渡せばおk list を返す方法は、単にそこに書いてある式が評価される(っぽい)のでどーにでもなる interactive にした関数の各引数は、その list の各要素に束縛される 順番は、えーと、respectively。(ひとつめの引数は…

落書き、もしくは妄想

昔書く書くと言ってた「テスト用のなにか」。名前が無いと不便なのでとりあえず xl-behave としたんだけど、subversion の repository とか trac とか考えると名前を変更するのってけっこーめんどい予感。書く書くと言って全然書いてないのは、どういうもの…

「なんで?」

部下に「何でそうしたの?」 と聞きたい時がありますが何と聞け… - 人力検索はてな 意訳: 部下が何かをやった理由を聞きたいが「なんで?」というと怒っていると受け取られそうでやだで思い出したのが なんでなんで攻撃「なんで?」だと批難の色が見え隠れす…

トランプを配る

http://ameblo.jp/programming/entry-10001721422.html 制限時間10分って言ってるのに1時間以上かかった、もうだめぽ。 (defun replace-nth (SEQ INDEX NEW &optional RET) (when (and RET (> INDEX (length SEQ))) (error "replace-nth: INDEX is higher th…