2012-06-12 34 views
1

我宣佈口齒不清以下列表:如何使lisp的列表輸出更好?

(defvar car-owners-2 (list (list 'yaakov (list 'volvo 100000.0)) 
          (list 'moshe (list 'vw 75000.0)) 
          (list 'rachel (list 'mazda 60000.0)) 
          (list 'sarah (list 'volvo 100000.0)) 
          (list 'david (list 'renault 50000.0)) 
          (list 'leah (list 'vw 75000.0)))) 

,當我想看到它從聽衆文件我得到這個噁心的輸出:

CL-USER 19 : 6 > car-owners-2 
    (((QUOTE YAAKOV) (QUOTE (# 100000.0))) ((QUOTE MOSHE) (QUOTE (# 75000.0))) 
    ((QUOTE RACHEL) (QUOTE (# 60000.0))) ((QUOTE SARAH) (QUOTE (# 100000.0))) 
    ((QUOTE DAVID) (QUOTE (# 50000.0))) ((QUOTE LEAH) (QUOTE (# 75000.0)))) 

我怎樣才能使輸出是否正常?爲什麼不打印它的名字#? 我想輸出是這樣的:

((YAAKOV (VOLVO 100000.0)) (MOSHE (VW 75000.0)) (RACHEL (MAZDA 60000.0))...) 

謝謝。 我用LispWorks 6.0.1

+0

在clozure CL和我的lispworks個人6.0.1輸出看起來很正常......你有沒有輸錯東西? – juanitofatas

+0

no ..這裏顯示的輸出是從我的監聽器文件中複製的。 –

回答

2

可能產生相同的名單是這樣的:

> '((yaakov (volvo 100000.0)) 
    (moshe (vw 75000.0)) 
    (rachel (mazda 60000.0)) 
    (sarah (volvo 100000.0)) 
    (david (renault 50000.0)) 
    (leah (vw 75000.0))) 
+0

非常感謝,但你之前是對的。它提供了一個很好的輸出。但肯定有加載。lisp Lispworks的監聽器的問題..每當我在我的.lisp文件中進行更改,我必須重新打開lispworks,然後加載它..很煩人。 –

+0

您可以重新評估更改的表達式,然後您不必重新加載。 – juanitofatas

+0

@זאביכהן:或者,更好的是,使用defparameter而不是defvar。使用defparameter時,它會在每次評估時設置值,僅當變量沒有值時才使用defvar。 – Vatine

1

CL-USER 19:6>

首先,我會出去的調試器。

這將是平時的提示:

CL-USER 19>

19說,這是閱讀的第十九方式。上面的: 6表示您在調試器中,並且在調試器中的第六個窗體被讀取。

CL-USER 19:6>:頂部

:top爲您帶來頂級。

然後檢查變量的值一樣*print-level**print-length*

CL-USER 12 > (setf *print-level* 2) 
2 

CL-USER 13 > (list (list 'yaakov (list 'volvo 100000.0)) 
          (list 'moshe (list 'vw 75000.0)) 
          (list 'rachel (list 'mazda 60000.0)) 
          (list 'sarah (list 'volvo 100000.0)) 
          (list 'david (list 'renault 50000.0)) 
          (list 'leah (list 'vw 75000.0))) 
((YAAKOV #) (MOSHE #) (RACHEL #) (SARAH #) (DAVID #) (LEAH #)) 

CL-USER 14 > (setf *print-level* nil) 
NIL 

CL-USER 15 > (list (list 'yaakov (list 'volvo 100000.0)) 
          (list 'moshe (list 'vw 75000.0)) 
          (list 'rachel (list 'mazda 60000.0)) 
          (list 'sarah (list 'volvo 100000.0)) 
          (list 'david (list 'renault 50000.0)) 
          (list 'leah (list 'vw 75000.0))) 
((YAAKOV (VOLVO 100000.0)) (MOSHE (VW 75000.0)) 
(RACHEL (MAZDA 60000.0)) (SARAH (VOLVO 100000.0)) 
(DAVID (RENAULT 50000.0)) (LEAH (VW 75000.0))) 
+0

「:top」命令有幫助。謝謝 –