বন্ধ করার জন্য লেক্সিকাল বাইন্ডিং এর defun
ভিতরে ব্যবহার করে আমি একটি স্থিতিশীল ভেরিয়েবলের প্রভাব পেতে চাই let
। যাইহোক, ফাইলটি বাইট-সংকলন করার সময়, আমি একটি সতর্কতা পাই। আমি কি কিছু ভুল করছি, না হলে, এই সতর্কতা দমনের কোনও উপায় আছে?
আমি একটি এমসিভিই তৈরি করেছি:
;; -*- lexical-binding: t -*-
(let ((count 0))
(defun increase-count ()
(interactive)
(setq count (1+ count))
(message "Count is: %d" count))
;; The warning happens here.
(increase-count))
কোডটি প্রত্যাশার মতো কাজ করে: ফাংশনটি increase-count
"গণনাটি হ'ল: এন" প্রিন্ট করে যেখানে n বলা হয় প্রতিবারই এটি বৃদ্ধি করে। যাইহোক, এই ফাইলটি বাইট-সংকলন করার সময় আমি নিম্নলিখিত সতর্কতাটি পাই:
In end of data:
mcve.el:11:1:Warning: the function ‘increase-count’ is not known to be
defined.
এটি আমার increase-count
কাছে মনে হয় লেট-ব্লকের শেষে ডাকা হওয়ার আগে সর্বদা সংজ্ঞায়িত করা উচিত। এটা কি না?
defun
আপনি যা ভাবেন তা করেন না এটি সর্বদা একটি উচ্চ-স্তরের সংজ্ঞা তৈরি করে। এলিস্প সব পরে স্কিমে নয় ...