Neden (1 2 3) (1 2 3) yerine yazılmıştır?Racket yorumcusu neden önce bir kesme işareti ile liste yazıyor?
> (list 1 2 3)
'(1 2 3)
Neden (1 2 3) (1 2 3) yerine yazılmıştır?Racket yorumcusu neden önce bir kesme işareti ile liste yazıyor?
> (list 1 2 3)
'(1 2 3)
Racket'in varsayılan yazıcısı, bir değeri (mümkün olduğunda) değerlendirecek bir ifade olarak yazdırır. quote
('
kısaltması) kullanılabilir; Eğer bir değer tanımlanamaz bir veri yapısı içeriyorsa, bunun yerine yapıcı işlevlerini kullanır. Örneğin:
> (list 1 2 3)
'(1 2 3)
> (list 1 2 (set 3)) ;; sets are not quotable
(list 1 2 (set 3))
En Lisps ve Şemaları baskı değerleri yerine write
işlevini kullanarak. Bunu, print-as-expression
parametresini kullanarak write
moduna raket yazıcıyı değiştirebilirsiniz:
> (print-as-expression #f)
> (list 1 2 3)
(1 2 3)
fazla bilgi için the docs on the Racket printer bakınız.
'(liste 1 2 3)' geri dönmelidir (1 2 3) '. '' (1 2 3) 'yazdırma yanlış. – leppie