Διαδρομές
/
Common Lisp
Common Lisp
/
Ύλη
/
Παράμετροι λέξεων-κλειδιών
Πα

Παράμετροι λέξεων-κλειδιών σε Common Lisp

1 άσκηση

Σχετικά με την έννοια Παράμετροι λέξεων-κλειδιών

Στη Common Lisp, οι ονομαστικές παράμετροι ονομάζονται παράμετροι-κλειδιά.

Οι παράμετροι-κλειδιά δηλώνονται με τη λέξη-κλειδί &key της λίστας παραμέτρων μέσα σε μια λίστα παραμέτρων. Οι παράμετροι-κλειδιά δεν είναι υποχρεωτικές, μπορούν να έχουν προεπιλεγμένη τιμή και μπορούν επίσης να ορίσουν μια "παράμετρο supplied-p", η οποία θα είναι "αληθής" ή "ψευδής" ανάλογα με το αν δόθηκε όρισμα για την παράμετρο.

(defun keyword-parameter (&key (arg -1) arg)
(keyword-parameter)         ; => -1
(keyword-parameter :arg 13) ; => 13

Στα ορίσματα μιας συνάρτησης, οι παράμετροι-κλειδιά καθορίζονται από το "όνομα-κλειδί" τους, το οποίο είναι, εξ ορισμού, μια εκδοχή του ονόματος της παραμέτρου ως σύμβολο-κλειδί (δηλαδή η παράμετρος-κλειδί name έχει όνομα-κλειδί :name). Μπορείς να ορίσεις ένα άλλο όνομα για την παράμετρο-κλειδί χρησιμοποιώντας μια λίστα με όνομα-κλειδί και όνομα παραμέτρου αντί για μόνο το όνομα της παραμέτρου:

(defun other-keyword-name (&key ((other-name arg))) (list arg))
(other-keyword-name 'other-name 5) ; => (5)

Αν και πολλοί τύποι παραμέτρων μπορούν να συνδυαστούν με άλλους τύπους παραμέτρων (προαιρετικές παραμέτρους και παραμέτρους-κλειδιά), αυτό μπορεί να είναι προβληματικό και πρέπει να γίνεται προσεκτικά. Δες την ενότητα "Ανάμειξη διαφορετικών τύπων παραμέτρων" στο Practical Common Lisp.

Επεξεργασία μέσω GitHub Ο σύνδεσμος ανοίγει σε νέο παράθυρο ή καρτέλα

Μάθε την έννοια Παράμετροι λέξεων-κλειδιών