কীওয়ার্ড এবং প্রতীকগুলির জন্য ক্লোজার ডকুমেন্টেশন এখানে Here
কীওয়ার্ডগুলি প্রতীকী শনাক্তকারী যা নিজেরাই মূল্যায়ন করে। তারা খুব দ্রুত সাম্যতা পরীক্ষা প্রদান করে ...
প্রতীকগুলি শনাক্তকারী যা সাধারণত অন্য কোনও কিছু উল্লেখ করতে ব্যবহৃত হয়। এগুলি ফাংশন পরামিতিগুলি উল্লেখ করার জন্য, বাইন্ডিংগুলি, শ্রেণীর নামগুলি এবং বিশ্বব্যাপী ভার্সগুলি ব্যবহার করার জন্য প্রোগ্রাম আকারে ব্যবহার করা যেতে পারে ...
কীওয়ার্ডগুলি সাধারণত লাইটওয়েট "ধ্রুব স্ট্রিং" হিসাবে ব্যবহৃত হয়, যেমন হ্যাশ-ম্যাপের কী বা মাল্টিমেডথের প্রেরণের মানগুলির জন্য। সিম্বলগুলি সাধারণত ভেরিয়েবল এবং ফাংশনগুলির নামকরণে ব্যবহৃত হয় এবং ম্যাক্রো এবং এগুলি ছাড়া সরাসরি বস্তু হিসাবে এগুলি হ্রাস করা কম সাধারণ। আপনি যে কোনও কীওয়ার্ড ব্যবহার না করেই যেখানে কোনও চিহ্ন ব্যবহার করা আপনাকে বিরত করার কিছুই নেই (যদি আপনি সর্বদা সেগুলি উদ্ধৃত করতে আপত্তি করেন না)।
পার্থক্য দেখতে করার সবচেয়ে সহজ উপায় পড়া Keyword.javaএবং Symbol.javaClojure উৎস হবে। বাস্তবের কয়েকটি বাস্তব পার্থক্য রয়েছে। উদাহরণস্বরূপ ক্লোজারের একটি চিহ্নের মেটাডেটা থাকতে পারে এবং একটি কীওয়ার্ড থাকতে পারে না।
একক-কোলন সিনট্যাক্স ছাড়াও, আপনি একটি নেমস্পেস-যোগ্য কীওয়ার্ড তৈরি করতে ডাবল-কোলন ব্যবহার করতে পারেন।
user> :foo
:foo
user> ::foo
:user/foo
কমন লিস্পের মূল শব্দ রয়েছে, যেমন রুবি এবং অন্যান্য ভাষাগুলি। অবশ্যই সেই ভাষাগুলিতে কিছুটা আলাদা। সাধারণ লিস্প কীওয়ার্ড এবং ক্লোজার কিওয়ার্ডগুলির মধ্যে কিছু পার্থক্য:
ক্লোজারে কীওয়ার্ডগুলি প্রতীক নয়।
user> (symbol? :foo)
false
কীওয়ার্ডগুলি কোনও নির্দিষ্ট জায়গার সাথে সম্পর্কিত নয় যদি আপনি তাদের নির্দিষ্টভাবে যোগ্য করে না:
user> (namespace :foo)
nil
user> (namespace ::foo)
"user"
( রাইনার জোসভিগ ধন্যবাদ আমাকে দেখার বিষয় সম্পর্কে ধারণা দেওয়ার জন্য।)