আমি কীভাবে আবার ফিরিয়ে আনতে পারি?


18

আমি দুর্ঘটনাক্রমে নিম্নলিখিত চালিয়েছি:

(unintern variable)

যেখানে variableএর মান ছিল nil

আমি nilইমাস পুনরায় চালু না করে কীভাবে ফিরে পাব ?


3
আমাকে বকবক করার জন্য +1 :-) একটি মজাদার উপায় নয়, তবে একটি "আমি পুরোপুরি এটিও করতাম" উপায়ে।
মালবারবা

@ মালাবাড়বা :) যখন আমি কী করেছি তা বুঝতে পেরে এটি সত্যিই একটি আড়ম্বরপূর্ণ উপলব্ধি ছিল
সান অলরেড

1
আপনি নীল মুছতে পারেন! আসতে দেখেনি।
গাম্বো

@ গ্যাম্বো আমিও করি নি :)
শন অলরেড

উত্তর:


19

(defconst nil ())

সঠিক প্রভাব আছে বলে মনে হচ্ছে; নোট করুন nilএবং একটি খালি তালিকা ইম্যাক্স লিস্পে পৃথকযোগ্য।

আমি lread.c:4034দেখতে পেলাম কীভাবে nilএকটিতে তৈরি হয় obarray

3896 লাইনেlread.c মন্তব্যটি নোট করুন :

/* There are plenty of other symbols which will screw up the Emacs
     session if we unintern them, as well as even more ways to use
     `setq' or `fset' or whatnot to make the Emacs session
     unusable.  Let's not go down this silly road.  --Stef  */
  /* if (EQ (tem, Qnil) || EQ (tem, Qt))
       error ("Attempt to unintern t or nil"); */

এটি ব্যাখ্যা করে যে ইমাকগুলি কেন (unintern nil)এবং এর বিরুদ্ধে সুরক্ষা দেয় না (unintern t)


খুব চালাক! আমি এর সাথে একমত Stef, আসলে :) নিচে যে রাস্তাটি উন্মাদনা।
শন অলরেড

Bleh। আমি এখানে এসএমএস নিয়ে আরএমএসের সাথে একমত আনইন্টার্নিং nilএকটি সাধারণ ত্রুটি যা এর বিরুদ্ধে রক্ষা করা সহজ। লোকেরা যখন ওপারে ঝাঁপিয়ে উঠতে পারে তখন কেন একটি সিঁড়িতে একটি হ্যান্ড্রেল রাখল?
গিলস 'অসন্তুষ্ট হওয়া বন্ধ করুন'

@ গিলস আমি সি সম্পর্কে এইভাবেই চিন্তা করি বলে সি: দর্শন বজায় রাখে যে প্রোগ্রামার জানে যে সে কী করছে এবং কেবল নিজেকে প্রকাশ করার জন্য একটি উপায় প্রয়োজন। আইএমও, আমাদের ইমাস লিসপকে ইমাসের সমাবেশের ভাষা হিসাবে বিবেচনা করা উচিত; উচ্চতর বিমূর্ততা (এবং প্রহরী / বৈশিষ্ট্য) এমন একটি ভাষায় যুক্ত করা উচিত যা এলিস্পে সংকলন করে। তবে এটি অবশ্যই অন্য একটি মাধ্যমের জন্য একটি বিষয় :)
শান অলরেড

uninternসত্যিই, ঘন ঘন ব্যবহার করা হয় না। মূলটিতে এটি ব্যবহার obarrayকরা সর্বদা একটি খারাপ ধারণা (যে কারণেই যখন আপনি C-h f uninternদ্বিতীয় তর্কটি পাস করতে ব্যর্থ হন এবং বাইট-সংকলক অভিযোগ করেন যে দ্বিতীয় আর্গটি আসলে এখনও alচ্ছিক)।
স্টিফান

@ স্টেফান দেখে মনে হবে এটি কোনও ডকুমেন্টেশন বাগ, তারপরে :(
সান অলরেড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.