LISP - Veri Türleri
LISP'de değişkenler yazılmaz, ancak veri nesneleri yazılır.
LISP veri türleri olarak kategorize edilebilir.
Scalar types - örneğin sayı türleri, karakterler, semboller vb.
Data structures - örneğin listeler, vektörler, bit vektörler ve dizeler.
Açıkça belirtmediğiniz sürece, herhangi bir değişken herhangi bir LISP nesnesini değeri olarak alabilir.
Bir LISP değişkeni için bir veri türü belirtmek gerekli olmasa da, belirli döngü genişletmelerinde, yöntem bildirimlerinde ve sonraki bölümlerde tartışacağımız diğer bazı durumlarda yardımcı olur.
Veri türleri bir hiyerarşi içinde düzenlenmiştir. Bir veri türü, bir LISP nesneleri kümesidir ve birçok nesne bu tür bir kümeye ait olabilir.
typep yüklem, bir nesnenin belirli bir türe ait olup olmadığını bulmak için kullanılır.
type-of işlev, belirli bir nesnenin veri türünü döndürür.
LISP'de Tip Tanımlayıcıları
Tür belirleyicileri, veri türleri için sistem tanımlı sembollerdir.
dizi | Fixnum | paket | basit dizgi |
atom | yüzen | yol adı | basit vektör |
Bignum | işlevi | rasgele durum | tek şamandıra |
bit | karma tablo | oran | standart karakter |
bit vektör | tamsayı | akılcı | Akış |
karakter | anahtar kelime | okunabilir | dizi |
[Yaygın] | liste | sıra | [string-char] |
derlenmiş işlev | uzun şamandıra | kısa şamandıra | sembol |
karmaşık | nill | imzalı bayt | t |
Eksileri | boş | basit dizi | işaretsiz bayt |
çift yüzer | numara | basit bit vektör | vektör |
Bu sistem tanımlı türlerin yanı sıra, kendi veri türlerinizi oluşturabilirsiniz. Bir yapı türü kullanılarak tanımlandığındadefstruct işlev, yapı türünün adı geçerli bir tür simgesi haline gelir.
örnek 1
Main.lisp adlı yeni bir kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.
(setq x 10)
(setq y 34.567)
(setq ch nil)
(setq n 123.78)
(setq bg 11.0e+4)
(setq r 124/2)
(print x)
(print y)
(print n)
(print ch)
(print bg)
(print r)
Yürüt düğmesine tıkladığınızda veya Ctrl + E tuşlarına bastığınızda, LISP bunu hemen yürütür ve döndürülen sonuç -
10
34.567
123.78
NIL
110000.0
62
Örnek 2
Ardından, önceki örnekte kullanılan değişkenlerin türlerini kontrol edelim. Main adlı yeni kaynak kodu dosyası oluşturun. lisp ve içine aşağıdaki kodu yazın.
(defvar x 10)
(defvar y 34.567)
(defvar ch nil)
(defvar n 123.78)
(defvar bg 11.0e+4)
(defvar r 124/2)
(print (type-of x))
(print (type-of y))
(print (type-of n))
(print (type-of ch))
(print (type-of bg))
(print (type-of r))
Yürüt düğmesine tıkladığınızda veya Ctrl + E tuşlarına bastığınızda, LISP bunu hemen yürütür ve döndürülen sonuç -
(INTEGER 0 281474976710655)
SINGLE-FLOAT
SINGLE-FLOAT
NULL
SINGLE-FLOAT
(INTEGER 0 281474976710655)