Keling, raqamlar bilan mashqlarda funktsiyalardan foydalanish texnikasini ko'rib chiqaylik va oddiy vazifalardan murakkab vazifalarga qanday o'tishni ko'rsatamiz.
Ta'rif
|
Eslatma
|
(DEFUN map-el(Fn xl)
(COND(xl
(CONS (FUNCALL Fn(car xl)
(map-el fn (CDR xl))
))))
|
FN
funktsiyasidan foydalangan holda XL elementlararo konvertatsiya qilish.
XL bo'sh bo'lmaguncha
, FN natijasini
XL boshidan
o'zgartirilgan
qolgan elementlar ro'yxatiga qo'shing.
|
(map-el #'1+ xl) 16
|
Quyidagi raqamlar
|
elementlarning"boshlari" ning quyidagi raqamlari (map-el #'CAR xl)
|
= car
|
(map-el #'Length xl)
|
elementlarning uzunligi
|
21-misol. Berilgan funktsiya yordamida ro'yxat elementlarini ko'rsatish
Raqamlar Lisp-e-da atomning maxsus turi sifatida ifodalanadi. Ushbu turdagi atom so'zni raqam sifatida belgilaydigan yorliqli ko'rsatgichdan, ushbu raqamning turidan va o'zboshimchalik uzunligining haqiqiy raqamining manzilidan iborat. Oddiy atomdan farqli o'laroq, saqlash paytida bir xil raqamlar birlashtirilmaydi.
.Berilgan Fn funktsiyasidan foydalangan holda ikkita ro'yxatni komponentli qayta ishlash funktsiyasini aniqlang.
Do'stlaringiz bilan baham: |