[Macemacsjp-users 524] Re: font の設定方法

Back to archive index

Kazu Yamamoto ( 山本和彦 ) kazu****@iij*****
2005年 7月 26日 (火) 13:52:42 JST


> "セルを無駄遣いする" の意味が良く判ってません。

話を簡単にするために、append の引数を 2 つに限定します。

append は第一引数の*コピー*を作成し、それを第二引数にくっつけます。

	(setq a '(0 1))
	(setq b '(2 3))
	(setq c (append a b))

	a => (0 1)
	b => (2 3)
	c => (0 1 2 3)

そのため、上記のように a の値は保存されます。また、コピーの分だけ、セル
を無駄遣いします。

コピーを作らない関数に nconc があります。

	(setq a '(0 1))
	(setq b '(2 3))
	(setq c (nconc a b))

	a => (0 1 2 3)
	b => (2 3)
	c => (0 1 2 3)

コピーをとらないので、a の値が変わっていることが分かります。

基本的に、append は無駄が多いのでお勧めではなく(使うと素人っぽい)、
nconc は副作用があるのでお勧めではありません。

可能な限り cons を利用すべきです。

#詳しくは、拙著「リスと遊び」でも立ち読みして下さい。

--かず



Macemacsjp-users メーリングリストの案内
Back to archive index