„CAR og CDR“: Munur á milli breytinga

Efni eytt Efni bætt við
Syum90 (spjall | framlög)
m Tók aftur breytingar 194.144.226.42 (spjall), breytt til síðustu útgáfu Addbot
Xqbot (spjall | framlög)
m Bot: Erstatt forældet <source> -tag og parameteren "enclose" [https://lists.wikimedia.org/pipermail/wikitech-ambassadors/2020-April/002284.html]
 
Lína 1:
[[File:Cons-cells.svg|thumb|Dæmi um cons-hólfin <sourcesyntaxhighlight lang="lisp">(cons 42 (cons 69 (cons 613 nil)))</sourcesyntaxhighlight> sem mætti umrita sem <sourcesyntaxhighlight lang="lisp">(list 42 69 613)</sourcesyntaxhighlight>
<tt>cons</tt>-aðgerð á þennan lista myndi skila ''42'' á meðan <tt>cdr</tt>-aðgerð myndi skila <tt>(cons 69 (cons 613 nil))</tt> eða <tt>(69 613)</tt>.]]
 
'''car''' ('''''C'''ontents of the '''A'''ddress part of '''R'''egister number'') og '''cdr''' ('''''C'''ontents of the '''D'''ecrement part of '''R'''egister number'') eru frumaðgerðir á [[cons]]-hólf sem komu fyrst fram í [[Lisp]]-forritunarmálum þar sem ''car'' vísar í fyrri hluta cons-hólfs og ''cdr'' í þann síðari:
 
<sourcesyntaxhighlight lang="lisp">
(car (cons 'fyrra 'síðara))
⇒ fyrra
(cdr (cons 'fyrra 'síðara))
⇒ síðara
</syntaxhighlight>
</source>
 
Þegar cons-hólfið hefur að geyma flóknari stök þá sækir ''car'' fyrsta stakið og ''car'' sækir afganginn; því eru aðgerðirnar einatt kallaðar ''first'' (‚fyrsti hluti‘) og ''rest'' (‚afgangur‘).