LISP - Karakter
Dalam LISP, karakter direpresentasikan sebagai objek data bertipe character.
Anda dapat menunjukkan objek karakter sebelum # \ sebelum karakter itu sendiri. Misalnya, # \ a berarti karakter a.
Spasi dan karakter khusus lainnya dapat dilambangkan dengan # \ sebelum nama karakter. Misalnya, # \ SPASI mewakili karakter spasi.
Contoh berikut menunjukkan ini -
Contoh
Buat file kode sumber baru bernama main.lisp dan ketikkan kode berikut di dalamnya.
(write 'a)
(terpri)
(write #\a)
(terpri)
(write-char #\a)
(terpri)
(write-char 'a)
Saat Anda menjalankan kode, ia mengembalikan hasil berikut -
A
#\a
a
*** - WRITE-CHAR: argument A is not a character
Karakter spesial
LISP umum memungkinkan penggunaan karakter khusus berikut dalam kode Anda. Mereka disebut karakter semi-standar.
- #\Backspace
- #\Tab
- #\Linefeed
- #\Page
- #\Return
- #\Rubout
Fungsi Perbandingan Karakter
Fungsi dan operator perbandingan numerik, seperti, <dan> tidak berfungsi pada karakter. LISP umum menyediakan dua set fungsi lainnya untuk membandingkan karakter dalam kode Anda.
Satu set peka huruf besar kecil dan yang lainnya tidak peka huruf besar / kecil.
Tabel berikut menyediakan fungsi -
Fungsi Peka Huruf Besar-Kecil | Fungsi tidak peka huruf besar / kecil | Deskripsi |
---|---|---|
char = | char-equal | Memeriksa apakah nilai operan semua sama atau tidak, jika ya maka kondisi menjadi benar. |
char / = | char-not-equal | Memeriksa apakah nilai operan semua berbeda atau tidak, jika nilai tidak sama maka kondisi menjadi benar. |
char < | char-lessp | Memeriksa apakah nilai operan menurun secara monoton. |
char> | char-lebih besar | Memeriksa apakah nilai operan meningkat secara monoton. |
char <= | char-not-lebih besar | Memeriksa apakah nilai setiap operan kiri lebih besar dari atau sama dengan nilai operan kanan berikutnya, jika ya maka kondisi menjadi benar. |
char> = | char-not-lessp | Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanannya, jika ya maka kondisi menjadi benar. |
Contoh
Buat file kode sumber baru bernama main.lisp dan ketikkan kode berikut di dalamnya.
; 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))
Saat Anda menjalankan kode, ia mengembalikan hasil berikut -
NIL
T
NIL
T
NIL
T
NIL