„Common Lisp“: Munur á milli breytinga
Efni eytt Efni bætt við
m Bot: Erstatt forældet <source> -tag og parameteren "enclose" [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html]; útlitsbreytingar |
|||
Lína 4:
Common Lisp er [[sammynda]]<ref name="ordsmid">Orð búin til af höfundi.<!-- [[Notandi:BiT]]--></ref> og hefur öflugt [[Fjölvaskipun|fjölvakerfi]] sem gerir forriturum kleyft að breyta málskipun málsins og að skrifa [[forrit]] sem búa til önnur, jafnvel flóknari, forrit.<ref>{{vísindavefurinn|5717|Er hægt að búa til tölvur sem læra, til dæmis með því að forrita sig sjálfar?}}</ref>
== Málskipan ==
Common Lisp er Lisp-mállýska og notar sem slík S-segðir til að tákna
Prentar „[[Halló, heimur]]!“:
<
(print "Halló, heimur!")
⇒ "Halló, heimur!"
</syntaxhighlight>
Leggur saman tvo og tvo og skilar gildinu:
<
(+ 2 2)
⇒ 4
</syntaxhighlight>
Skilgreinir fall sem hefur tölu upp í annað veldi:
<
(defun tvíveldi (tala)
(* tala tala))
⇒ TVÍVELDI
</syntaxhighlight>
Hefur 9 og talnalista upp í annað veldi með fallinu sem skilgreint var að ofan:
<
(tvíveldi 9)
⇒ 81
(mapcar #'tvíveldi (list 1 2 3 4 5))
⇒ (1 4 9 16 25)
</syntaxhighlight>
sem er jafngilt því að nota [[nafnlaust fall]]:
<
((lambda (tala) (* tala tala)) 9)
⇒ 81
Lína 42:
(mapcar (lambda (tala) (* tala tala)) (list 1 2 3 4 5))
⇒ (1 4 9 16 25)
</syntaxhighlight>
þar sem <tt>#'tvíveldi</tt> er stytting á <tt>(function tvíveldi)</tt>.
== Gagnatög ==
=== Föll ===
Common Lisp styður [[fyrsta flokks fall|fyrsta flokks föll]]<!-- first-class function --><ref name="ordsmid"/> þar sem [[fall (tölvunarfræði)|föll]] geta skilað öðrum föllum, tekið föll sem [[færibreytur]] og geymt þau í venjulegum gagnagrindum. Mörg innbyggð föll í Common Lisp eru [[Æðra fall|æðri föll]]<!-- higher-order function --><ref name="ordsmid"/> (föll sem taka föll sem færibreytur) en dæmi um það er <tt>sort</tt> fallið sem tekur inn venslafall og valkvæmt fall sem er notað til að nálgast hvert stak. Hér röðum við lista eftir lækkandi og hækkandi stökum:
<
(sort (list 5 2 6 3 1 4) #'>)
⇒ (6 5 4 3 2 1)
(sort (list 5 2 6 3 1 4) #'<)
⇒ (1 2 3 4 5 6)
</syntaxhighlight>
og hér röðum við lista eftir fyrsta stakinu í hverju staki í lækkandi röð:
<
(sort (list '(9 A) '(3 B) '(4 C)) #'< :key #'first)
⇒ ((3 B) (4 C) (9 A))
</syntaxhighlight>
== Tilvísanir ==
<div class="references-small"><references/></div>
== Tengt efni ==
* ''[[Common Lisp the Language]]''
* ''[[On Lisp]]''
* ''[[Practical Common Lisp]]''
[[Flokkur:Common Lisp| ]]
|