Hatena::Groupcadr

わだばLisperになる このページをアンテナに追加 RSSフィード

2004 | 12 |
2005 | 01 | 02 | 07 | 10 | 11 |
2006 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2007 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2009 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2010 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 |
2011 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 11 |

2009-01-20

Getting Started in *LISP (22)

| 10:46 | Getting Started in *LISP (22) - わだばLisperになる を含むブックマーク はてなブックマーク - Getting Started in *LISP (22) - わだばLisperになる

のんびりと続けております、*LISP入門。今回は、3.6.4からです。

3.6.4 Default and Current VP Sets

前回定義したVP setsをどうやって使うかということになるのですが、実際のところこれまでもデフォルトのVP setsを使ってきたとのこと。

初期化時に*cold-bootでサイズを指定していましたが、デフォルトのVP setsのサイズを指定していたということになります。

3.6.5 Selecting VP sets

ということで自前で定義したVP setsを利用する方法ですが、with-系マクロの*with-vp-set等を利用します。

(in-package :*lisp)

;;; 128 x 128に設定
(*cold-boot :initial-dimensions '(128 128))

現在の状況(デフォルト)を表示

(list *current-cm-configuration*
      *number-of-processors-limit*)
((128 128) 16384)

VP sets big-squareと、another-square-pvarを定義

(def-vp-set big-square '(256 256)
  :*defvars '((big-square-pvar 1)
              (another-square-pvar (random!! 20))))

*with-vp-setでbig-squareを選択

(*with-vp-set big-square
  (list *current-cm-configuration*
        *number-of-processors-limit*))
;=> ((256 256) 65536)

(list *current-cm-configuration*
      *number-of-processors-limit*)
;=> ((128 128) 16384)

*with-vp-setの外では元の設定であることが分かる。

カレントのVP setsを変更してしまいたいときは、set-vp-setを利用

(set-vp-set big-square)
;=> #<VP-SET Name: BIG-SQUARE, Dimensions (256 256), Geometry-id: 3>

(list *current-cm-configuration*
      *number-of-processors-limit*)
;=> ((256 256) 65536)

変更されたことが分かる

次回、3.6.6から再開です。