Ruby1.9に搭載されたtapが便利そうなので、Schemeに移植してみた。 ところでtapって何よ 副作用専門メソッド。 入力 -> tap -> 出力 V 副作用要するに、Linuxコマンドで言う所のtee。デバッグに便利かも。 Schemeに移植 簡単。 (define (tap f x) (f x) x) ワンライナでオケ。 使ってみる 1から10までのリストを二乗する。 (define (p x) (display x) (newline)) (define (square x) (* x x)) 結果がナカナカいい。 (map square (tap p (iota 10 1))) ; (1 2 3 4 5 6 7 8 9 10) ; (1 4 9 16 25 36 49 64 81 100) 途中にtapを挟んでおけば、任意の箇所にprintfデバッグを仕掛けられる。 se