Vim でアンドゥ(undo)とリドゥ(redo)
Vim-users.jp – Hack #8: 作業の履歴を辿る g- 状態を1つ戻す(アンドゥ) g+ 状態を1つ進める(リドゥ) これは、便利な使い方を覚えた。 これまで Vim で undo(u) を繰り返していて、redo (^r) をしても元に戻らなくなってしまい、"入力し直し"といったことをしていたけれど… undo-branches を使え…続きを読む
Vim-users.jp – Hack #8: 作業の履歴を辿る g- 状態を1つ戻す(アンドゥ) g+ 状態を1つ進める(リドゥ) これは、便利な使い方を覚えた。 これまで Vim で undo(u) を繰り返していて、redo (^r) をしても元に戻らなくなってしまい、"入力し直し"といったことをしていたけれど… undo-branches を使え…続きを読む
問題4.1 まず、gauche でそれぞれの評価順の場合の手続きを作って確かめてみる。 (define val 10) (define expression ‘((set! val (+ val 2)) (set! val (* val 2)))) 左から右に評価する場合 (define (list-of-values-left-to-right exps) (if (null? exps) ‘(…続きを読む
delete-1 の定義を一箇所変更して、一致するものを全て取り除く delete を定義する。 (define (delete elt lis . options) (let-optionals* options ((cmp-fn equal?)) (define (loop lis) (cond ((null? lis) ‘()) ((cmp-fn elt (car lis)) (loop (…続きを読む
問題3.82 (define (estimate-integral p x1 x2 y1 y2) (define monte-carlo-stream (stream-map (lambda (m) (* (- x2 x1) (- y2 y1) m)) (monte-carlo random-in-range-experiment-stream 0.0 0.0))) (define random-…続きを読む
xz圧縮を Max OSX で使うために MacPorts から xz-devel と GNU tar 1.22 をインストールする。 $ sudo port install xz-devel $ sudo port install gnutar 使い方 -J オプションを使って xz圧縮を利用する。 $ tar -cJvf hoge.tar.xz hoge/
プログラミングGauche 練習問題(p101)を解く。 手続き any-pred と every-pred を自分で定義する。 any-pred ;; 最初に思いついた解答 (define (any-pred . preds) (define (iter preds x) (if (null? preds) #f (if ((car preds) x) #t (iter (cdr preds) …続きを読む
問題3.81 問題文が解りにくいが、 generate または reset の要求を表す値(’generate と 整数 を使う)から成るストリームを引数にとって、それぞれの要求に対応して作られた乱数からなるストリームを作る。 (define (rand-update x) (remainder (+ x 1812433253) 4294967296)) (define (rand input-s…続きを読む
lambda 式内の a は letrec 内で b が呼び出される時に使われる。 (letrec ((a 1) (b (lambda (x) (+ a x)))) (b 4)) gosh> 5 (letrec ((a 1) (b (lambda (x) (+ a x)))) (set! a 2) (b 4)) gosh> 6 プログラミングGaucheの練習問題(p74)を解く。 (…続きを読む
プログラミングGaucheの練習問題(p68)を解く。 for-each-numbers (define (for-each-numbers proc lis) (for-each proc (filter number? lis))) (for-each-numbers print ‘(1 2 #f 3 4 #t)) gosh> 1 2 3 4 #<undef> map-num…続きを読む
処理の一番最後に再帰呼び出しをして、その結果がそのまま現在の処理の結果として返されるパターンを末尾再帰と呼びます。 (プログラミングGauche p57) プログラミングGauche posted with amazlet at 08.11.14 Kahuaプロジェクト オライリージャパン 売り上げランキング: 22775 Amazon.co.jp で詳細を見る reverse を末尾再帰で書き直…続きを読む