LISP - Karakterler

LISP'de karakterler veri nesneleri olarak temsil edilir. character.

# \ Karakterinden önce gelen bir karakter nesnesini karakterin kendisinden önce gösterebilirsiniz. Örneğin, # \ a, a karakteri anlamına gelir.

Boşluk ve diğer özel karakterler, karakterin adından önce # \ gelecek şekilde gösterilebilir. Örneğin, # \ SPACE, boşluk karakterini temsil eder.

Aşağıdaki örnek bunu göstermektedir -

Misal

Main.lisp adında yeni bir kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.

(write 'a)
(terpri)
(write #\a)
(terpri)
(write-char #\a)
(terpri)
(write-char 'a)

Kodu çalıştırdığınızda, aşağıdaki sonucu döndürür -

A
#\a
a
*** - WRITE-CHAR: argument A is not a character

Özel karakterler

Ortak LISP, kodunuzda aşağıdaki özel karakterlerin kullanılmasına izin verir. Yarı standart karakterler olarak adlandırılırlar.

  • #\Backspace
  • #\Tab
  • #\Linefeed
  • #\Page
  • #\Return
  • #\Rubout

Karakter Karşılaştırma İşlevleri

<Ve> gibi sayısal karşılaştırma işlevleri ve operatörler karakterler üzerinde çalışmaz. Common LISP, kodunuzdaki karakterleri karşılaştırmak için başka iki işlev seti sağlar.

Bir küme büyük / küçük harfe duyarlıdır ve diğeri büyük / küçük harfe duyarlı değildir.

Aşağıdaki tablo işlevleri göstermektedir -

Büyük / Küçük Harfe Duyarlı İşlevler Büyük / Küçük Harfe Duyarlı Olmayan İşlevler Açıklama
char = char-eşit İşlenenlerin değerlerinin hepsinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur.
char / = char-eşit değil İşlenenlerin değerlerinin tümünün farklı olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur.
karakter < char-lessp İşlenenlerin değerlerinin tekdüze olarak azalıp azalmadığını kontrol eder.
karakter> char-büyükp İşlenenlerin değerlerinin monoton olarak artıp artmadığını kontrol eder.
karakter <= char-not-büyükp Herhangi bir sol işlenenin değerinin bir sonraki sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur.
char> = char-not-lessp Herhangi bir sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur.

Misal

Main.lisp adında yeni bir kaynak kodu dosyası oluşturun ve içine aşağıdaki kodu yazın.

; case-sensitive comparison
(write (char= #\a #\b))
(terpri)
(write (char= #\a #\a))
(terpri)
(write (char= #\a #\A))
(terpri)
   
;case-insensitive comparision
(write (char-equal #\a #\A))
(terpri)
(write (char-equal #\a #\b))
(terpri)
(write (char-lessp #\a #\b #\c))
(terpri)
(write (char-greaterp #\a #\b #\c))

Kodu çalıştırdığınızda, aşağıdaki sonucu döndürür -

NIL
T
NIL
T
NIL
T
NIL