ইমাস লিস্পে, কোনও ভেরিয়েবল সংজ্ঞায়িত করা হয়েছে কিনা তা আমি কীভাবে পরীক্ষা করব?
উত্তর:
আপনি বাউন্ডপ চাইতে পারেন: পরিবর্তনশীল (প্রতীক) শূন্য না হলে t প্রদান করে; আরও স্পষ্টভাবে, যদি এর বর্তমান বাঁধাইটি বাতিল হয় না is এটি অন্যথায় শূন্য ফেরত।
(boundp 'abracadabra) ; Starts out void.
=> nil
(let ((abracadabra 5)) ; Locally bind it.
(boundp 'abracadabra))
=> t
(boundp 'abracadabra) ; Still globally void.
=> nil
(setq abracadabra 5) ; Make it globally nonvoid.
=> 5
(boundp 'abracadabra)
=> t
symbol-value
আসল মান মুদ্রণের জন্য ফাংশন ব্যবহার করি । প্রতীক-মান-ডক । ইগস: eval-expression
কমান্ডটি ব্যবহার করে এবং তারপরে এটি টাইপ করে: (symbol-value 'abracadabra)
ডিএফএর উত্তর ছাড়াও আপনি দেখতে চাইতে পারেন এটি fboundp ব্যবহার করে কোনও ফাংশন হিসাবে আবদ্ধ কিনা :
(defun baz ()
)
=> baz
(boundp 'baz)
=> nil
(fboundp 'baz)
=> t
আপনি যদি ইমাসের মধ্যে থেকে কোনও পরিবর্তনশীল মানটি পরীক্ষা করতে চান (তবে এটি "প্রয়োগ হয় কিনা তা আমি জানি না, যেহেতু আপনি" ইমাস লিস্পে "লিখেছেন?):
M-:
Eval
মিনি বাফারে শুরু হয়। ভেরিয়েবলের নামে লিখুন এবং রিটার্ন টিপুন। মিনি-বাফারটি ভেরিয়েবলের মান দেখায়।
যদি ভেরিয়েবলটি সংজ্ঞায়িত না করা হয় তবে আপনি একটি ডিবাগার ত্রুটি পান।
M-: (boundp 'the-variable-name) RET
ত্রুটি ট্রিগার করার প্রয়োজন ছাড়াই পরীক্ষা করবে।