"সত্য" আইএনজি, "ভুয়া" আইএন, এবং বুলিয়ান টগল করার জন্য কি কোনও পদ আছে? [বন্ধ]


23

বলি আমি প্রযুক্তিগত বৈঠকে আমার কোডটি বর্ণনা করার চেষ্টা করছি।

প্রথমত, আমি বুলিয়ান সেট foobarকরতেtrue

এবং

দ্বিতীয়ত, আমি বুলিয়ান সেট foobarকরতেfalse

কিছুটা শব্দময় মনে হচ্ছে। যদি foobarটগল করা হয় তবে আমি সম্ভবত বলতে পারি,

তৃতীয়, আমি টগল foobar

এখানে জড়িত থাকার মাধ্যমে, আপনি এটির একটি বুলিয়ান জানেন। সুতরাং আমি সক্ষম হতে পারি না:

চতুর্থ, আমি সত্য foobar

এবং

পঞ্চম, আমি মিথ্যা বর্ণনা FOOBAR

কোনটি জড়িত হওয়ার মাধ্যমেও আমার শ্রোতাদের বলবে যে আমরা একটি বুলিয়ান পরিবর্তনশীল নিয়ে কাজ করছি? এর জন্য কি যথাযথ পরিভাষা রয়েছে? ধন্যবাদ।


16
"আমি ফুবারকে সত্য / মিথ্যাতে সেট করি" এটি শব্দবাচক নয় এবং এটি স্পষ্টই এটি একটি দুর্দান্ত। "টগল" শ্রোতাদের কাছে মোটামুটি পরিষ্কার, আইএমও।
ফিলিপ মিলোভানোভিć

8
"প্রথমে, আমি বুলিয়ান ফুবারকে সত্যে সেট করি এবং দ্বিতীয়ত, আমি বুলিয়ান ফুবারকে মিথ্যাতে সেট করি"। আপনি কি প্রথমে এটি মিথ্যা সেট করতে পারবেন না? ;)
ডেভিড আরনো

2
আমি সবসময় ভেবেছিলাম এটাকে ফ্লিপিং বলা হত, তবে স্পষ্টতই এটি বিটগুলির জন্য শব্দ , বুল নয়
e_i_pi

16
আমি একটি জালিয়াতি তৈরি করার এবং মানটিকে মিথ্যা হিসাবে সেট না করার সমতুল্য মিথ্যাবাদী পড়তে চাই ।
কোডসইনচওস 4:18

6
আপনি কি নিশ্চিত যে আপনার কোডটি এত নিচু স্তরে বর্ণনা করবেন? নিশ্চয়ই যদি কেউ নিম্ন স্তরের বিবরণ চান তবে তারা কেবল কোডটি পড়বেন read আমি বলছি না আছে না এমন পরিভাষা ব্যবহার করার জন্য একটি কারণ, কিন্তু আমি এটা দুর্লভ বলে আশা করা যাবে।
ডিউলিং

উত্তর:


52
  • সত্যকে মান নির্ধারণ করা সেটি সেট করে
  • এটি মিথ্যাতে সেট করা এটি সাফ করছে।
  • বর্তমান মান পরিবর্তন করা এটি টগলিং

আপনি অবশ্যই "এটিকে সত্য হিসাবে সেট করা" এবং "এটি মিথ্যাতে সেট করা" অবশ্যই ব্যবহার করতে পারেন ।


10
আমি এটি মান সাফ করার সাথে সাথে মানকে মিথ্যা হিসাবে সেট করে তুলছি না। আমার পক্ষে সাফ করার অর্থ: সত্য বা মিথ্যা নয়।
পিটার বি

49
@ পিটারবি: ঠিক আছে, এটি প্রসঙ্গে নির্ভর করে; যদি আমরা কোনও বুলিয়ান পতাকা সম্পর্কে কথা বলি, তবে পতাকাটি "সেটিং" এবং "ক্লিয়ারিং" মোটামুটি সাধারণ পরিভাষা।
ফিলিপ মিলোভানোভিć

7
@ ফিলিপমিলোভানোভিć ভেরিয়েবলের প্রসঙ্গে, ভেরিয়েবল নির্ধারণের অর্থ হ'ল ভেরিয়েবলের মান নির্ধারণ করা, বুলিয়ান ভেরিয়েবলের প্রসঙ্গে এই মানটি সত্য বা মিথ্যা হতে পারে। এটি বলা আশ্চর্যজনক হবে: আরে, একটি ভেরিয়েবল নির্ধারণের অর্থ এটির জন্য একটি মূল্য নির্ধারণ করা ... এটি যখন বুলিয়ান ভেরিয়েবল হয় তখন যখন আমরা এটি সেট করি তখন আমাদের অর্থ যে আমরা মানটি নির্ধারণ করি: "সত্য"
পিটার বি

6
@ পিটারবি যদি এটি "সত্য বা মিথ্যা না হয়" হতে পারে তবে এটি একটি বাইনারি বুলিয়ান নয় (বেশিরভাগ লোকেরা শব্দটি শোনার সময় এটিই ভাবেন), তবে একটি চারিদিকের সত্য / মিথ্যা / অনির্দিষ্ট বিষয়। বলা হচ্ছে, সেট / পরিষ্কার পরিভাষা পতাকাগুলি থেকে আসে। সমস্ত বুলিয়ান চলক পতাকা নয়, তাই অনেকগুলি ব্যবহারের ক্ষেত্রে পরিভাষাটি অনুপযুক্ত।
কিউবিক

7
@ পিটারবি: ইয়েস - "বুল ভেরিয়েবল সেট করুন" বলা এবং এটি "সত্যকে সেট করে" বোঝার জন্য প্রত্যেকে এটি বোঝার আশা করা অবাক করা হবে; তবে যদি এটি একটি পতাকা প্রতিনিধিত্ব করে, তবে "পতাকাটি সেট করুন" হ'ল সাধারণভাবে ব্যবহৃত কিছু এবং এর অর্থ পতাকাটির সত্য উপস্থাপন করে (বা বিটটিকে 1 তে প্রতিনিধিত্ব করে) সেট করে means (পিএস তবে ইমিগ্রিসের উত্তর সেটিকে বিবেচনায় নেয় না)
ফিলিপ মিলোভানোভিয়

66

যদি কিছুটা সম্ভব হয় তবে বুলিয়ান মানটির দিকে মনোনিবেশ করার পরিবর্তে, এটি কী উপস্থাপন করে তা বর্ণনা করার চেষ্টা করা উচিত। কিছু উদাহরণ:

  • একটি সেবা? প্রারম্ভিক / থামার পরিবর্তে শুরু = সত্য / মিথ্যা
  • একটি গেম ইঞ্জিনের একটি বিশেষ প্রভাব? চালু / বন্ধ
  • বৈদ্যুতিক সংকেত? সেট / পুনরায় সেট
  • ...

আপনি আরও প্রাকৃতিক পদে কথা বলতে চান। এবং এইভাবে আপনার বৈঠকে, "সত্যায়ন ফুবারের পরে মিথ্যা বলার" পরিবর্তে আপনি কেবল "ফুবার শুরু করুন তবে এটি বন্ধ করুন" (যদি ফুবার কোনও পরিষেবা হয়, তবে)।

আপনার যখন সত্যিকারের বুলিয়ান মান সম্পর্কে কথা বলতে হবে তখন আপনি "সেট / রিসেট", বা "সত্যে সেট" এবং "মিথ্যাতে সেট হয়ে" যেতে পারেন। "টগল" সমস্ত প্রসঙ্গে খুব সুন্দর লাগছে।

এবং যদি আপনি কোনও বুলিয়ান শপটিতে কাজ করেন (এর অর্থ যে কোনও কারণই হতে পারে) তবে অভিধানটি যা দিচ্ছে তার চেয়ে আপনার সম্ভবত আরও শব্দ প্রয়োজন। সেক্ষেত্রে সত্যবাদী করা এবং মিথ্যা বলা আপনার মাইক্রোস্পিকারের অংশ মাত্র ।


16
সম্মত হতে হবে ... বুলিয়ান হ'ল বাস্তবায়ন হ'ল আপনি যে মডেলগুলির বিষয়ে সত্যিই কথা বলছেন ... তাই পরিবর্তে সেই বিষয়ে কথা বলুন!
পারে_ ফ্যাক্টর

2
বুলিয়ানটিকে সত্য হিসাবে স্থাপন করার বিষয়ে কথা বলতে আমি পছন্দ করি না। কারণ ভেরিয়েবলগুলির সাথে আমি যেভাবে কাজ করি সেগুলি অবিচ্ছিন্নভাবে শুরু হয়, যার অর্থ মূলত আপনি সেগুলি এখনও ব্যবহার করতে পারবেন না এবং একটি ভেরিয়েবল সেট করার কাজটি (সত্য বা মিথ্যা) আরম্ভ হয়। সর্বদা সত্য হিসাবে সেট করার জন্য বিভ্রান্তির সৃষ্টি হয়।
পিটার বি

1
এছাড়াও, পরিভাষার এই ব্যবহারটি কোডেও অনুবাদ করে; এটি প্রায়শই - সর্বদা অবশ্যই নয় - অন্তর্নির্মিত বুলিয়ান প্রকারের পরিবর্তে একটি দুটি মান এনাম ব্যবহার করা ভাল; signal = HighVoltageবা signal = Activeআইএমএইচও এর চেয়ে আরও পরিষ্কার signal = true
কিউবিক

নোট করুন যে একটি সঠিকভাবে নামযুক্ত বুলেট সম্পত্তি / ভেরিয়েবল সর্বদা তাত্ক্ষণিকভাবে নামটি প্রকাশ করবে যা আপনি মানগুলির জন্য ব্যবহার করা উচিত। মনে এর isStarted, isActive, isCaseSensitive, mockConnection, ... @PieterB: আমি আংশিকভাবে আপনার সাথে একমত। "বুলিয়ান সেট করুন" এর অন্তর্নিহিত অর্থ এটি সত্যে সেট করা হয় না। তবে, " isActiveপতাকাটি সেট করুন " এর অর্থ এটি সত্য হিসাবে সেট করার অর্থ যুক্তিযুক্তভাবে ব্যাখ্যা করা যেতে পারে।
ফ্ল্যাটার

1
@ কিউবিক: আমি একমত নই ভবিষ্যতের সম্প্রসারণ একদিকে রেখে, বাইনারি এনাম অপ্রয়োজনীয় বলে মনে হয়। signal = trueপ্রকৃতপক্ষে পরিষ্কার নয়, তবে আপনি যদি ব্যবহার করতে যাচ্ছেন signal = Activeতবে আপনি সম্ভবত ব্যবহার করতে পারেন isSignalActive = true। নোট করুন যে এটি মূলত বর্ণনাকারীদের ক্ষেত্রে প্রযোজ্য যা পরিষ্কারভাবে পারস্পরিক একচেটিয়া এবং সঠিক পরিপূরক। সক্রিয় / নিষ্ক্রিয় বিলটি ফিট করে। হাইভোল্টেজ হয় না, যেহেতু "উচ্চ ভোল্টেজ নয়" উদাহরণস্বরূপ "লো ভোল্টেজ" হতে পারে, বা এর অর্থ "নিম্ন বা মাঝারি ভোল্টেজ" হতে পারে। পরবর্তী ক্ষেত্রে, বুলিয়ান যুক্তি স্পষ্টতই প্রযোজ্য না। প্রাক্তন ক্ষেত্রে, এটা না।
4:44

2

আমি "সেট" / "ক্লিয়ার" পছন্দ করি তবে আপনার ফ্রেসিংয়ে অস্পষ্টতার বিষয়ে সতর্ক থাকুন। ফিলিপ হিসাবে উল্লেখ করেছে যে , "বুল ভেরিয়েবল সেট করুন" বলতে ভেরিয়েবলের কিছু মূল্য লেখার অর্থ নেওয়া যেতে পারে। তবে "পতাকা নির্ধারণ" আরও স্পষ্ট।


সম্পর্কিত পরিভাষা: 0/1 মানগুলিতে 0 / অ-শূন্য পূর্ণসংখ্যার বাঁককে "বুলেটিনাইজিং" বলা হয়

আপনি যদি 0/1 মানটি একটি পূর্ণসংখ্যা হিসাবে ব্যবহার করেন (সত্য / মিথ্যা হিসাবে পরিবর্তে bool) তবে আপনি এই শব্দটি ব্যবহার করতে চাইতে পারেন। অন্যথায় এটি কেবল তখনই আসে যখন আপনি সংকলকটি যে অপারেশনগুলি করতে হয় তার ব্যয় সম্পর্কে কথা বলছেন। (অথবা আপনি যদি প্রতিটি ভেক্টরের উপাদানগুলিতে অল-শূন্য / সমস্ত বিট উত্পাদন করার জন্য একটি সিমডের সাথে ম্যানুয়ালি ভেক্টর করছেন)।

সি এবং সি ++ এ, একটি boolসুস্পষ্টভাবে 0 বা 1 হিসাবে পূর্ণসংখ্যায় রূপান্তর করতে পারে এবং সাধারণ বাস্তবায়নে bool0 বা 1 (কেবল কোনও শূন্য নয়) নয় এমন এক-বাইট মান হিসাবে সংরক্ষণ করা হয়। দক্ষগুলি সক্ষম করে a && bতবে অনুশীলনে অনেকগুলি সি সংকলক অপ্টিমাইজেশন মিস করেছেন


bool booleanize(int a) { return a; }   // C++

এই ফাংশনটি retবেশিরভাগ আর্কিটেকচারে একাধিক নির্দেশাবলীর (এর সাথে নয় ) সংকলন করে । (এমআইপিএস একটি আকর্ষণীয় ব্যতিক্রম, পৃথক পতাকা / শর্ত-কোড নিবন্ধের পরিবর্তে তুলনামূলকভাবে-নিবন্ধের নির্দেশাবলী থাকা)। গডবোল্ট সংকলক এক্সপ্লোরার এক্স x86-64, এমআইপিএস এবং এআরএম থাম্বের জন্য , আমরা দেখতে পাচ্ছি x86-64 সংস্করণটি হ'ল:

    test    edi, edi    # set flags according to   a & a
    setne   al
    ret                 # return value in AL, the low byte of RAX

দুঃখের এই উদাহরণটি কি কিছুটা বড় / অফ-টপিকটি বড় হয়েছে!


0

আমি " Foobarসত্যে সেট " এবং "মিথ্যাতে সেট Foobarকরা" সোজা এবং সংযোগযুক্ত বলে মনে করি। আমি বিশ্বাস করি না যে এই বাক্যাংশগুলির জন্য স্বতন্ত্র শব্দ রয়েছে এবং যখন আপনার প্রযুক্তিগত এবং সুনির্দিষ্ট উভয় হওয়া দরকার তবে আপনার শ্রোতাদের বিভ্রান্ত করার ঝুঁকি না করে মাঝে মাঝে কিছুটা কথায় কথায় থাকতে রাজি হওয়াই ভাল।


-1

একটি ভেরিয়েবলকে একটি মূল্য নির্ধারণের ক্রিয়া বর্ণনা করার সঠিক উপায় "সেটিং"। আপনি যদি এটি সম্পর্কে পেডেন্টিক পেতে চান, আপনি এটি "অ্যাসাইনমেন্ট" বলতে পারেন, তবে "সেট" খুব প্রচলিত। প্রকৃতপক্ষে, অ্যাসাইনমেন্টটি সম্পাদন করার পদ্ধতি setFoobar()(এবং getFoobar()) পদ্ধতিগুলি লেখার জন্য এটি আইডোমেটিক জাভা । সি # এটিকে আরও সম্পত্তি getএবং setসংজ্ঞা সহ আরও একধাপ এগিয়ে নিয়ে যায় ।

"সত্যায়িত" এবং "মিথ্যা" ব্যবহার করার বিষয়ে "দ্বিতীয় বিষয়টি" সম্পর্কে আপনার শ্রোতার সাথে আমার শ্রোতাদের বলুন যে আমরা একটি বুলিয়ান ভেরিয়েবল নিয়ে কাজ করছি ", আপনি ইতিমধ্যে আপনার শ্রোতাদের বলছেন যে চলকটি বুলিয়ান হয় যখন আপনি বলেন:

আমি সেট Foobarকরতেtrue



-1

জাহির বা প্রত্যাহার ব্যবহার করা যেতে পারে, প্রায়শই যখন, সহজ ভেরিয়েবল বদলে প্রস্তাবের বিষয়ে কথা Prolog মধ্যে উদাহরণস্বরূপ। সাধারণত বুলিয়ান যা বোঝায় তার উপর নির্ভর করে বিভিন্ন শর্তাবলী রয়েছে, বুলিয়ান মান রয়েছে এমন সমস্ত ভাষার জন্য একটি সাধারণ শব্দ (সেট / ক্লিয়ার ফ্ল্যাগ বা বিট, ডিভাইস বা মোড সক্ষম / অক্ষম করা, প্রতিস্থাপন / প্রত্যাহার প্রস্তাব সম্ভবত আরও কিছু) than


আমি দৃ as়তার সাথে একমত হব , কেবলমাত্র এমন কোনও প্রোগ্রামারকে বাদ দিয়ে যার অর্থ ইতিমধ্যে অন্যরকম কিছু রয়েছে (উদাহরণস্বরূপ যদি প্রকাশটি ইতিমধ্যে সত্য না হয় তবে একটি ব্যতিক্রম ছুঁড়ে দেওয়া)।
ক্রিসডাব্লু

@ ক্রিসডব্লিউ আমি জানি না আপনি প্রোগল প্রোগ্রামকারী লোকেরা প্রোগ্রামার না হলে তারা কী বলে মনে করেন, তবে এটি ১৯olog২ সালে প্রোলোগে ব্যবহৃত হয়েছিল, সুতরাং এটি সি ম্যাক্রো যা বিদ্যমান অর্থটি পরিবর্তিত করেছিল।
পিট কিরখাম

-1

কোনও বুলিয়ান এর মান থেকে পরিবর্তন trueকরতে falseবা তদ্বিপরীতকে অবহেলা বলা হয় ।

একটি বুলিয়ান এর মান সেট করতে falseবলা হয় বুলিয়ান falsifing হিসাবে । আপনি "সত্যবাদিতা" বললে আমি আপনাকে বুঝতে পারব, তবে এটি সঠিক বলে মনে হচ্ছে না। আমি নিশ্চিত নই যে কিছু তৈরির জন্য ক্রিয়াটি কী true, তাই এটি সঠিক হতে পারে।

আপনি "সত্যবাদিতা" উইলি-নিলির ব্যবহার শুরু করার আগে আমি আরও ভাল উত্তর দিয়ে কারও জন্য অপেক্ষা করব।


1
এখানে সমস্যাটি হ'ল আপনি অবহেলা , মিথ্যাবাদী শব্দগুলি ব্যবহার করতে পারেন তবে আমি যথাক্রমে টগল এবং পুনরায় সেট / ক্লিয়ার ব্যবহার করব । আসলে এই প্রশ্নটি না পড়া পর্যন্ত, আমি কখনই মিথ্যা বলব না । যদিও আমি কেবল বুড়ো হয়েছি এবং এই বছরের ট্রেন্ডি শর্তগুলির সাথে আমি আপ টু ডেট নই :)
ডেভিড আরনো

7
'ফালসিফাই' এর ইংরেজী ভাষায় একটি অর্থ রয়েছে যা আপনার বুলিয়ান ভেরিয়েবলগুলির সাথে সত্যই সামঞ্জস্য করে না; যদি আমাকে তুমি "মিথ্যাভাবে" আপনার ভেরিয়েবল বললাম পারে বুঝতে পারছি তুমি কি বলতে চেষ্টা করছেন, কিন্তু আমি যে তুমি আমাকে বলতে হবে যে আপনি মান তারা আছে সম্পর্কে মিথ্যে বলছ চেষ্টা প্রথম পার্স চাই।
কিউবিক 4'18

1
"মিথ্যাবাদী" এর বিপরীত আইএমও হ'ল ইংরেজিতে "জোর দেওয়া", তবে ("দৃsert়তা দেওয়া") কোনও প্রোগ্রামারকে ভুল ধারণা দেয়।
ক্রিসডাব্লু

-3

একটি বুলিয়ান একটি এসপিএসটি (একক মেরু, একক নিক্ষেপ) বৈদ্যুতিক সুইচের সমতুল্য: একটি এটি চালু বা বন্ধ করে দেয়


2
" doneভেরিয়েবল চালু করুন " বা " errorভেরিয়েবলটি বন্ধ করা আছে" দুটো শব্দই কিছুটা বন্ধ, কমপক্ষে আমার কাছে। অন্যান্য উত্তরের প্রস্তাবিত বিকল্পগুলি আরও প্রচলিত বলে মনে হচ্ছে - " doneভেরিয়েবল / বুল / পতাকা সেট করুন [সত্যে]", বা " errorপতাকা সাফ করা হয়েছে।"
সেবি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.