📄 match.scm
字号:
;; http://www.cs.indiana.edu/scheme-repository/code.match.html;;;; or Andrew K. Wright's web page:;;;; http://www.star-lab.com/wright/code.html;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Pattern Matching Syntactic Extensions for Scheme;;(define match:version "Version 1.19, Sep 15, 1995");;;; Written by Andrew K. Wright, 1993 (wright@research.nj.nec.com).;; Adapted from code originally written by Bruce F. Duba, 1991.;; This package also includes a modified version of Kent Dybvig's;; define-structure (see Dybvig, R.K., The Scheme Programming Language,;; Prentice-Hall, NJ, 1987).;;;; This macro package extends Scheme with several new expression forms.;; Following is a brief summary of the new forms. See the associated;; LaTeX documentation for a full description of their functionality.;;;;;; match expressions:;;;; exp ::= ...;; | (match exp clause ...);; | (match-lambda clause ...);; | (match-lambda* clause ...);; | (match-let ((pat exp) ...) body);; | (match-let* ((pat exp) ...) body);; | (match-letrec ((pat exp) ...) body);; | (match-define pat exp);;;; clause ::= (pat body) | (pat => exp);;;; patterns: matches:;;;; pat ::= identifier anything, and binds identifier;; | _ anything;; | () the empty list;; | #t #t;; | #f #f;; | string a string;; | number a number;; | character a character;; | 'sexp an s-expression;; | 'symbol a symbol (special case of s-expr);; | (pat_1 ... pat_n) list of n elements;; | (pat_1 ... pat_n . pat_{n+1}) list of n or more;; | (pat_1 ... pat_n pat_n+1 ooo) list of n or more, each element;; of remainder must match pat_n+1;; | #(pat_1 ... pat_n) vector of n elements;; | #(pat_1 ... pat_n pat_n+1 ooo) vector of n or more, each element;; of remainder must match pat_n+1;; | #&pat box
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -