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

プロセスを殺さずログアウト

zsh

zsh: you have running jobs. "disown"というコマンドで実行中のジョブを切り離しできる。また、バックグラウンドでコマンドを実行する時に % ./hoge &でなく % ./fuga &!とやれば自動でdisownしてくれるらしい。(未確認) 参考: 医療費控除(基礎編)〜パソコ…

Prototype.jsの$のちょっと変わった使い方 - IT戦記見て

$A(arguments).map($)でできね?って思って適当なコードで試してみたら $A(arguments).map($) // => [[[object HTMLSpanElement],undefined],[[object HTMLSpanElement],1],[[object HTMLSpanElement],2]]Enumerable.map(iterator)がイテレータの第2引数に要…

2.5.1 Generic Arithmetic Operations, 2.5.2 Combining Data of Different Types

じぇねりっく!じぇねりっく! コードがめちゃくちゃ長いです。 apply-genericでうまいことやってみよう。 前準備 (基本) (define (square x) (* x x)) (define-values (put get) (let ((*table* '())) (values (lambda (op type proc) (set! *table* (cons …

2.4 Multiple Representations for Abstract Data

斜め読みしてたらどこのコード使えばいいか分からなくなった。 データを複数のやり方で表現するよ。ちょうど複素数の直交座標・極座標表示が身近なのでその例を使います。 前準備 put,getは予めあるものとして進めているので(ずいぶん不親切だ)、適当に定義…

2.3.4 Example: Huffman Encoding Trees

ハフマン符号。面倒だなーって思ってたら前やった奴みつけたからそれを流用。 前準備 (define (make-leaf symbol weight) (list 'leaf symbol weight)) (define (leaf? object) (eq? (car object) 'leaf)) (define (symbol-leaf x) (cadr x)) (define (weigh…

2.3.3 Example: Representing Sets

データの集合をいろいろな方法で表現しましょう。 (define (element-of-set? x set) (cond ((null? set) #f) ((equal? x (car set)) #t) (else (element-of-set? x (cdr set))))) (define (adjoin-set x set) (if (element-of-set? x set) set (cons x set))…

2.3.2 Example: Symbolic Differentiation

シンボルを使って式の微分。 前準備 (define (deriv exp var) (cond ((number? exp) 0) ((variable? exp) (if (same-variable? exp var) 1 0)) ((sum? exp) (make-sum (deriv (addend exp) var) (deriv (augend exp) var))) ((product? exp) (make-sum (make…

2.3.1 Quotation

2.53 省略。 2.54 (define (%equal? a b) (cond ((and (pair? a) (pair? b)) (and (%equal? (car a) (car b)) (%equal? (cdr a) (cdr b)))) ((and (not (pair? a)) (not (pair? b))) (eq? a b)) (else #f))) 2.55 ''abracadabra ; => (quote abracadabra)だ…

2.2.4 Example: A Picture Language(あとで)

これhttp://d.hatena.ne.jp/motemen/20051226/1135612691でできると思ったんだけど、何だかbelowの定義が変(教科書通りにやっても違った絵が出る)なのとdraw-lineが定義されてなかったのとDrSchemeで実行するのがストレス溜まるのでスキップ。

2.2.3 Sequences as Conventional Interfaces

だんだん問題解くのが面倒になってきた。 前準備 (define (accumulate op initial sequence) (if (null? sequence) initial (op (car sequence) (accumulate op initial (cdr sequence))))) 2.33 (リストの基本関数をaccumulateで書き換え) (define (%map p …

2.2.1 Representing Sequences,2.2.2 Hierarchical Structures

nilの代わりに'()を使用する。 2.17 (define (last-pair lis) (if (null? (cdr lis)) lis (last-pair (cdr lis)))) 2.18 (define (reverse lis) (define (reverse-iter lis reversed) (if (null? lis) reversed (reverse-iter (cdr lis) (cons (car lis) rev…

2.1.1 Example: Arithmetic Operations for Rational Numbers

今までは手続きの抽象化、ここからはデータの抽象化。 リンク先のサイトの Figure 2.1: Data-abstraction barriers in the rational-number package が分かりやすい。 Programs that use rational numbers (Rational numbers in problem domain) add-rat sub…

調査

etc

google:ctrl-alt-shift: 82,600 hits google:ctrl-shift-alt: 35,000 hits google:alt-shift-ctrl: 11,100 hits google:alt-ctrl-shift: 20,300 hits google:shift-ctrl-alt: 59,000 hits google:shift-alt-ctrl: 22,100 hits

1.3.4 Procedures as Returned Values

タイトル修正。 lambda 前準備 (define tolerance 0.00001) (define (fixed-point f first-guess) (define (close-enough? v1 v2) (< (abs (- v1 v2)) tolerance)) (define (try guess) (let ((next (f guess))) (if (close-enough? guess next) next (try n…

1.3.3 Procedures as General Methods

タイトル修正。 1.34 (define (f g) (g 2))MzSchemeで。 :mz (f f) procedure application: expected procedure, given: 2; arguments were: 2; (f f) ; => (f 2) ; => (2 2) 1.35 (fixed-pointで黄金比) (define tolerance 0.00001) (define (fixed-point f…

1.3.1 引数としての手続き

素人くさい読書会に行けないので自習する。と決めてから早速やってなかった…。 前準備 (define (sum term a next b) (if (> a b) 0 (+ (term a) (sum term (next a) next b)))) (define (integral f a b dx) (define (add-dx x) (+ x dx)) (* (sum f (+ a (/…

それVimでもできるよ

Vim

…って誰かやらないかなぁ。

カンファレンス行けない日記

etc

Plagger Conference行けなくなった…。 RubyKaigi チケット瞬殺…。

GWはれーるずざんまい

ほんとか。 のテストでは動くのに、本番サーバで動かそうとすると真っ白な画面しか返ってこない(Content-Length: 0)。一晩悩んで、寝て、起きて、動く部分からちょっとずつ試していったら結局、sever.username と server.groupname の設定を入れると反応しな…

2chに書き込むモジュール(がない)

CPAN検索(http://search.cpan.org/search?query=2ch&mode=all)したら全然無くて驚いた。 あれだけ節操なくモジュールつくってはあげる(という印象のある)Perlerが2ちゃんねるに書き込むライブラリを作ってないっていうのは、なんか不文律でもあるんだろうか。

ActivePerl@Windowsで対話式に

perlshというものがあるらしいんだけど、この環境じゃなんかうまくいかん*1ので、 C:\>perl -de 42 Loading DB routines from perl5db.pl version 1.28 Editor support available. Enter h or `h h' for help, or `perldoc perldebug' for more help. main::…