LISP - विधेय
विधेय ऐसे कार्य हैं जो कुछ विशिष्ट स्थितियों के लिए अपने तर्कों का परीक्षण करते हैं और यदि स्थिति झूठी है, या कुछ गैर-शून्य मान है तो स्थिति सत्य है।
निम्न तालिका कुछ सबसे अधिक इस्तेमाल की जाने वाली भविष्यवाणी को दर्शाती है -
अनु क्रमांक। | समर्पित करें और विवरण दें |
---|---|
1 | atom यह एक तर्क लेता है और यदि तर्क एक परमाणु या शून्य है तो अन्यथा वापस आ जाता है। |
2 | equal इसमें दो तर्क और रिटर्न लगते हैं t यदि वे संरचनात्मक रूप से समान हैं या nil अन्यथा। |
3 | eq इसमें दो तर्क और रिटर्न लगते हैं t यदि वे एक ही समान ऑब्जेक्ट हैं, तो समान मेमोरी लोकेशन साझा करना या nil अन्यथा। |
4 | eql इसमें दो तर्क और रिटर्न लगते हैं t यदि तर्क हैं eq, या यदि वे एक ही मूल्य के साथ एक ही प्रकार के नंबर हैं, या यदि वे चरित्र ऑब्जेक्ट हैं जो एक ही चरित्र का प्रतिनिधित्व करते हैं, या nil अन्यथा। |
5 | evenp यह एक संख्यात्मक तर्क और रिटर्न लेता है t यदि तर्क संख्या या है nil यदि अन्यथा। |
6 | oddp यह एक संख्यात्मक तर्क और रिटर्न लेता है t यदि तर्क विषम संख्या है या nil यदि अन्यथा। |
7 | zerop यह एक संख्यात्मक तर्क और रिटर्न लेता है t यदि तर्क शून्य है या nil यदि अन्यथा। |
8 | null यह एक तर्क और रिटर्न लेता है t यदि तर्क शून्य का मूल्यांकन करता है, अन्यथा यह वापस आ जाता है nil। |
9 | listp यह एक तर्क और रिटर्न लेता है t यदि तर्क किसी सूची का मूल्यांकन करता है अन्यथा वह वापस आ जाता है nil। |
10 | greaterp यह एक या अधिक तर्क लेता है और रिटर्न करता है t यदि या तो एक ही तर्क है या तर्क क्रमिक रूप से बाएं से दाएं बड़ा है, या nil यदि अन्यथा। |
1 1 | lessp यह एक या अधिक तर्क लेता है और रिटर्न करता है t यदि या तो कोई तर्क है या तर्क क्रमिक रूप से बाएं से दाएं छोटे हैं, या nil यदि अन्यथा। |
12 | numberp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक संख्या है या nil यदि अन्यथा। |
13 | symbolp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक प्रतीक है अन्यथा यह वापस आ जाता है nil। |
14 | integerp यह एक तर्क और रिटर्न लेता है t यदि तर्क पूर्णांक है, तो यह वापस आ जाता है nil। |
15 | rationalp यह एक तर्क और रिटर्न लेता है t यदि तर्क तर्कसंगत संख्या है, तो अनुपात या संख्या, अन्यथा यह वापस आ जाती है nil। |
16 | floatp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक अस्थायी बिंदु संख्या है अन्यथा यह वापस आ जाता है nil। |
17 | realp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक वास्तविक संख्या है अन्यथा यह वापस आ जाता है nil। |
18 | complexp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक जटिल संख्या है अन्यथा यह वापस आ जाती है nil. |
19 | characterp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक चरित्र है अन्यथा यह वापस आ जाता है nil। |
20 | stringp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक स्ट्रिंग ऑब्जेक्ट है अन्यथा यह वापस आ जाता है nil। |
21 | arrayp यह एक तर्क और रिटर्न लेता है t यदि तर्क एक सरणी वस्तु है अन्यथा यह वापस आ जाती है nil। |
22 | packagep यह एक तर्क और रिटर्न लेता है t यदि तर्क एक पैकेज है अन्यथा यह वापस आ जाता है nil. |
उदाहरण 1
Main.lisp नाम से एक नया सोर्स कोड फ़ाइल बनाएँ और उसमें निम्न कोड टाइप करें।
(write (atom 'abcd))
(terpri)
(write (equal 'a 'b))
(terpri)
(write (evenp 10))
(terpri)
(write (evenp 7 ))
(terpri)
(write (oddp 7 ))
(terpri)
(write (zerop 0.0000000001))
(terpri)
(write (eq 3 3.0 ))
(terpri)
(write (equal 3 3.0 ))
(terpri)
(write (null nil ))
जब आप कोड निष्पादित करते हैं, तो यह निम्न परिणाम देता है -
T
NIL
T
NIL
T
NIL
NIL
NIL
T
उदाहरण 2
Main.lisp नाम से एक नया सोर्स कोड फ़ाइल बनाएँ और उसमें निम्न कोड टाइप करें।
(defun factorial (num)
(cond ((zerop num) 1)
(t ( * num (factorial (- num 1))))
)
)
(setq n 6)
(format t "~% Factorial ~d is: ~d" n (factorial n))
जब आप कोड निष्पादित करते हैं, तो यह निम्न परिणाम देता है -
Factorial 6 is: 720