SICPを読む(45) 2.2.1(1) 空リスト
やっとリストらしくなってくるぞぉ〜。
が・・・しかし・・・nilが無い!!
gaucheでは、
gosh> (cons 1 (cons 2 nil)) *** ERROR: unbound variable: nil Stack Trace: _______________________________________ gosh> (cons 1 (cons 2 null)) *** ERROR: unbound variable: null Stack Trace: _______________________________________ gosh> (cons 1 (cons 2 `())) (1 2)
MzSchemeでは、
> (cons 1 (cons 2 nil)) reference to undefined identifier: nil > (cons 1 (cons 2 null)) (1 2) > (cons 1 (cons 2 `())) (1 2)
となってしまう。
空リスト
ボクノスで空リストを表す場合は、`()を使うことにする。
(cons 1 (cons 2 `())) ; (1 2)
おぉ、
(list)でも空リストが作れた。
gosh> (list) () gosh> (cons 1 (cons 2 (list))) (1 2)