schemeの変数は(let a b)のように定義されます。
引数は(define (func a b .c) ...)のように定義します。
### listを再定義する
```lisp
`gutter:true;
gosh> (define (list . a)
a)
list
gosh> (list 1 2 3)
(1 2 3)
gosh> (list 1)
(1)
gosh> (list)
()
gosh>
```
引数は全てリストに入るみたいなので、listはそれをそのまま返せば再定義できそうです。
0 件のコメント :
コメントを投稿