- 793 名前:デフォルトの名無しさん mailto:sage [04/07/12 00:23]
- (define-syntax map-in (syntax-rules (in)
((map-in arg in lst body) (map (lambda (arg) body) lst))) これで (map-in x in '(0 1 2 3 4) (+ x 10)) => (10 11 12 13 14) となる。PythonとかRubyのイテレータに似せてみた。 in が未束縛だが、手作りの「予約語」になってる。 む、この例だと意味薄いか? r5rsマクロの「リテラル」はパタンマッチングの目印に使われるハズ。 あと、「学校で習った」だけの知識じゃマクロまで使えない学生も多いよ@灯台理情 好みでやりこんでるヤシが使うだけ。
|

|