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