[আপনার যথাযথ স্ট্রিংটি ভুল দেখাচ্ছে - সম্ভবত আপনি এটি ভুলভাবে অনুলিপি করেছেন। foo
কেবলমাত্র 3 টি অক্ষর রয়েছে, সুতরাং এটি 0 থেকে 4 অক্ষরে (যেমন, অক্ষর 0, 1, 2, এবং 3 - এটি 4 টি অক্ষর) দ্বারা সজ্জিত হওয়া অসম্ভব। আমি এখানে উদাহরণে 4 এর পরিবর্তে 3 ব্যবহার করি]]
(let* ((foo #("foo" 0 3 (fontified t face font-lock-function-name-face)))
(start 0)
(end (length foo)))
(set-text-properties start end nil foo)
foo)
set-text-properties
একটি অন্তর্নির্মিত ফাংশন C source code
।
(set-text-properties START END PROPERTIES &optional OBJECT)
সম্পূর্ণরূপে থেকে টেক্সট বৈশিষ্ট্য প্রতিস্থাপন START
করতে END
।
তৃতীয় যুক্তি PROPERTIES
নতুন সম্পত্তি তালিকা।
OBJECT
Theচ্ছিক চতুর্থ আর্গুমেন্টটি যদি একটি বাফার হয় (বা শূন্য, যার অর্থ বর্তমান বাফার), START
এবং END
হয় বাফার পজিশনগুলি (পূর্ণসংখ্যা বা চিহ্নিতকারী)। তাহলে OBJECT
একটি স্ট্রিং, START
এবং END
ভিত্তিক 0 তা সূচকের হয়। যদি PROPERTIES
শূন্য থাকে তবে ওবিজেইসিটি-র মনোনীত অংশ থেকে সমস্ত বৈশিষ্ট্য মুছে ফেলা হবে।
এলিসপ ম্যানুয়াল, নোড পরিবর্তনের বৈশিষ্ট্যগুলি দেখুন । সেখানে আপনি এটি দেখতে পাবেন, ক্রিয়াকলাপের অধীনে remove-text-properties
(যা আপনি কাজটি করতেও ব্যবহার করতে পারেন):
নির্দিষ্ট পাঠ্য থেকে সমস্ত পাঠ্য বৈশিষ্ট্য অপসারণ করতে , নতুন সম্পত্তি তালিকার জন্য ব্যবহার করুন set-text-properties
এবং নির্দিষ্ট করুন nil
।
@ ড্যান যেমন উল্লেখ করেছেন, আপনি এটি ব্যবহার করতে পারেন substring-no-properties
তবে সচেতন থাকুন যে এটি একটি নতুন স্ট্রিং ফেরত দেয়। এটি আপনি যে সত্যিকারের স্ট্রিং অবজেক্টটি দিয়েছিলেন তা সংশোধন করে না। উভয়ই remove-text-properties
এবং set-text-properties
আপনি যে স্ট্রিংটি পাস করেন তা পরিবর্তন করুন।
উদাহরণ স্বরূপ:
(setq foo #("foo" 0 3 (fontified t face font-lock-function-name-face)))
(setq bar foo)
(set-text-properties 0 (length foo) nil foo)
উভয় foo
এবং bar
এখন ঠিক আছে "foo"
, কোনও সম্পত্তি নেই।
কিন্তু:
(setq foo #("foo" 0 3 (fontified t face font-lock-function-name-face)))
(setq bar foo)
(setq foo (substring-no-properties foo))
এখন foo
কোন সম্পত্তি আছে কিন্তু bar
এখনও আছে।