বিভাজক হিসাবে কমা একটি বিসীমাবিদ হিসাবে কমা


13

ইন এই ভিডিওটি , স্পিকার বলেছেন:

"কিছু মানুষ কীভাবে কমাগুলি কাজ করে সে সম্পর্কে বিভ্রান্ত হন They তারা মনে করেন তাদের বিভাজনকারীদের পরিবর্তে পরিবর্তিত হওয়া উচিত। এখন আপনি তাদের সম্পর্কে যেভাবেই ভাবতে পারেন" "

আমি একটি সীমানা এবং বিভাজকের মধ্যে পার্থক্য বুঝতে পারি না (যদি থাকে তবে)। ভিডিওটিতে বোঝা যাচ্ছে যে এখন (যে অনুবর্তী কমাগুলি বৈধ), কেউ এটিকে বিভাজকগুলির পরিবর্তে বিবিধ হিসাবে বিবেচনা করতে পারে ...

বিটিডব্লিউ প্রশ্নে থাকা ভাষাটি জাভাস্ক্রিপ্ট। আমার উপলব্ধি থেকে, কমা টোকেনের দুটি অর্থ রয়েছে:

  • অপারেটর হিসাবে (খুব কম ব্যবহৃত)
  • বিভাজক হিসাবে (যুক্তি এবং প্যারামিটার তালিকাগুলি, অ্যারে এবং অবজেক্ট লিটারালস ইত্যাদি)

আমি নিশ্চিত না যে কীভাবে কমা ডেলিমিটার এটিতে ফিট করে ...


2
কেন এই ব্যাপার?
jਫਰ00

7
@ jender00 যদি শর্তাবলী সীমানা এবং বিভাজক এর মধ্যে পার্থক্য থাকে তবে আমি এটি জানতে চাই ... আমি :)
স্টাফগুলি

3
@ jender00 ভিডিওটি দেখুন। আইই লোকেরা যদি আপনার মতো সংকীর্ণভাবে চিন্তা না করত, তবে আমাদের কাছে আর কোনও জাভাস্ক্রিপ্ট বহনযোগ্যতা
স্নাফু

3
@ ŠimeVidas ভাল প্রশ্ন। বিটিডব্লির স্পিকার হলেন ডাবলাস ক্রকফোর্ড, ইয়াহুর সিনিয়র জাভাস্ক্রিপ্ট আর্কিটেক্ট, জেএসএন জনপ্রিয় করার জন্য পরিচিত এবং জাভাস্ক্রিপ্টের লেখক : দ্য গুড পার্টস । বিশেষ করে ক্রকফোর্ড ভিডিও দেখার সময় আপনি বিশদে মনোযোগ দিয়েছেন বলে মনে করা ভাল।
ইয়ানিস

1
@ ইয়ানিসরিজোজ হ্যাঁ, আমি ক্রকফোর্ডকে জানি। তিনি একজন দুর্দান্ত শিক্ষাবিদ। :)
Vidime Vidas

উত্তর:


15

আপনি যদি কমাটিকে বিভাজক হিসাবে বিবেচনা করেন, আপনি সেগুলি পৃথক করার জন্য ক্রমের দুটি আইটেমের মধ্যে একটি কমা ব্যবহার করেন, যদি আপনি এটিকে একটি ডিলিমিটার হিসাবে বিবেচনা করেন, আপনি কোনও আইটেমটি কোথায় শেষ হবে তা নির্দেশ করার জন্য প্রতিটি আইটেমের পরে রেখেছেন। নীচের উদাহরণগুলি দেখুন:

বিচ্ছেদকারী হিসাবে কমা

var myCars = ["Saab", "Volvo", "BMW" ];

সীমানা হিসাবে কমা

var myCars = ["Saab", "Volvo", "BMW", ];

আমার মনে হয় ভিডিওটি বলেছে যে আপনি কমাগুলি বিভাজক এবং ডিলিমিটর উভয় হিসাবেই ভাবতে পারেন কারণ উপরের দুটি অ্যারে উদাহরণ বৈধ। জাভাস্ক্রিপ্টে অন্যদিকে আপনি কেবলমাত্র কোনও ক্রমের প্যারামিটার তালিকায় বিভাজক হিসাবে কমা ব্যবহার করতে পারেন, যেমন

foo(a, b, c) // separator, OK

বৈধ যেখানে

foo(a, b, c,) // delimiter, NOT OK!

বৈধ নয়.

সম্পাদনা

আমি যতদূর বুঝতে পেরেছি, উইকিপিডিয়া পৃষ্ঠা অনুসারে একটি বিভাজক একটি ডিলিমিটারের একটি বিশেষ কেস , যাকে বিভিন্ন পাঠ্য অঞ্চলের মধ্যে রাখা হয়েছে যার সীমানা চিহ্নিত করা দরকার। প্রকৃতপক্ষে, উইকিপিডিয়া পৃষ্ঠার নামগুলি কমানি- বিচ্ছিন্ন মানগুলি ডিলিমেটারগুলির উদাহরণ হিসাবে ব্যবহার করে। সুতরাং, সাধারণভাবে আপনি বিভিন্নভাবে ডিলিমিটারগুলি ব্যবহার করতে পারেন: আগে, পরে, পাঠ্যের অংশের উভয় পাশে চিহ্নিত করতে।

জাভাস্ক্রিপ্ট প্রসঙ্গে আমি কেন ডিলিমিটারকে "আইটেমের পরে স্থাপন করা" হিসাবে ব্যাখ্যা করি তার কারণটি অ্যারে আক্ষরিক উদাহরণ দ্বারা অনুপ্রাণিত হয়েছিল, যা সি, সি ++ এবং জাভা-র ক্ষেত্রেও বৈধ is (আমি মনে করি আমি কমপক্ষে একটি প্রশ্ন দেখেছি) এই বিষয় সম্পর্কে স্ট্যাক ওভারফ্লো)।

একটি চরিত্রের অনুরূপ কিন্তু পৃথক ব্যবহারের আরেকটি উদাহরণ হ'ল বিবৃতি ডিলিমিটার (সি, সি ++, জাভা, অ্যাডা, ...) এবং একটি বিবৃতি বিভাজক (পাস্কাল) হিসাবে সেমিকোলন। অতএব

if (a > 0)
    printf("Positive\n");
else
    printf("Non positive\n");

সঠিক সি কোড যদিও

IF a > 0 THEN
    WriteLn('Positive'); (* Syntax error here! *)
ELSE
    WriteLn('Non positive');

কোনও সঠিক পাস্কাল কোড নয়।

হতে পারে টার্মিনেটরটি ডিলিমিটারের চেয়ে আরও ভাল / কম অস্পষ্ট শব্দ হতে পারে ? উদাহরণস্বরূপ, কেউ নিচের মতামতটি তৈরি করতে পারে: "কিছু মানুষ কীভাবে কমা কাজ করে সে সম্পর্কে বিভ্রান্ত হয় They তারা মনে করেন আইটেম বিভাজক না করে তাদের আইটেম টার্মিনেটর হওয়া উচিত Now এখন (বেশিরভাগ ক্ষেত্রে) আপনি এগুলি সম্পর্কে যেভাবেই ভাবতে পারেন" "


হ্যাঁ, প্যারামিটারের তালিকায় কমা অবশ্যই বিভাজক হিসাবে ব্যবহার করা উচিত, অন্যদিকে অ্যারে আক্ষরিক ক্ষেত্রে কমা হয় বিভাজক বা ডিলিমেটার হিসাবে ব্যবহার করা যেতে পারে। বা সাধারণ লোকের শর্তে: আপনি সর্বশেষ অ্যারে উপাদানটির পরে কমা রাখতে পারেন, তবে আপনার দরকার নেই।
Vidime Vidas

যদিও আপনার উত্তরটি আমার প্রশ্নটির উদ্ধৃতিটি বেশ ভালভাবে ব্যাখ্যা করে, "ডেলিমিটার" এর উইকিপিডিয়া পৃষ্ঠাটি বিভিন্ন সংজ্ঞা দেয়। এই নিবন্ধ অনুসারে, একটি সীমানা অঞ্চলগুলির মধ্যে সীমানা নির্দিষ্ট করে । সুতরাং, উপরোক্ত আপনার প্রশ্ন থেকে "বিভাজক হিসাবে কমা" উদাহরণটি কমা ক্ষেত্রের ডিলিমিটার হিসাবে অভিহিত হবে, যখন "উইকি পৃষ্ঠায় কোমা" একটি বিস্ময়কর উদাহরণ হিসাবে উপস্থাপিত হয়নি।
Vidime Vidas

@ Šime বিদাস - উইকিপিডিয়া অন্যান্য রেফারেন্সের মতো কেবল একটি রেফারেন্স, এটি কেবলমাত্র রেফারেন্স নয়।
মাইকেল রিলে - এ কেএ গুনি

@ কেপকডগুনি হ্যাঁ, আমি কেবল উল্লেখ করছি যে এখানে সংঘাতের সংজ্ঞা রয়েছে। আমি অন্যান্য উল্লেখগুলি থেকেও সংজ্ঞা দেখতে চাই।
Vidime বিদাস

7

পৃথককারীকে দুটি মানের মধ্যে পৃথক করা হবে।

one,two,three

একটি সীমানা একটি ক্ষেত্রের সীমানা নির্ধারণ করে - এটি উভয় পক্ষের হবে।

,one,two,three,

যখন এই পথে নেওয়া হয় তখন এটি সামান্য পার্থক্য করে, যতক্ষণ না কেউ আলাদা ক্ষেত্রটি বের করতে পারে।

এটি জাভাস্ক্রিপ্টের মতো একটি প্রোগ্রামিং ভাষায় কমা ব্যবহারের সম্পূর্ণ ভিন্ন সমস্যা। এটি স্ট্রিংয়ের মধ্যে মানগুলি পৃথকীকরণ / পৃথক করা সম্পর্কে।


1
হ্যাঁ, এটি অর্থবোধ করে।
Vidime Vidas

আমি আপনার সীমানা বিশ্লেষণের সাথে একমত নই। আপনার ব্যাখ্যার ভিত্তিতে এটি হবে, এক, দুই, তিন, এখন ডিলিমেটারটি উভয় পাশে রয়েছে।
মাইকেল রিলে - এ কেএ গুনি

1
@ কেপকডগনি - আপনি ভুল ব্যাখ্যা করছেন are আমি যে উদাহরণটি দিয়েছি তা প্রতিটি মানের আগে এবং পরে কমা রয়েছে । স্ট্রিংটির একেবারে শুরু এবং শেষে নয় কমাগুলি শেষ সীমানার হিসাবে কাজ করে এবং ডিলিমেটার শুরু করে।
ওডে

@ ওডে এই উইকিপিডিয়া নিবন্ধটি বিভিন্ন সংজ্ঞা প্রদান করে। এটি অনুসারে, আপনার প্রথম উদাহরণটি ক্ষেত্রের ডিলিমিটার হবে, যখন আপনার দ্বিতীয় উদাহরণটি নিবন্ধে মোটেই উপস্থাপন করা হয়নি।
Vidime Vidas

1
সাবধানতার কথা! var myNumbers = ['one','two','three', ];(শেষের দিকে কমা) অ্যারের দৈর্ঘ্য 3 var myNumbers = [,'one','two','three'];হিসাবে
দিত
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.