কেন: নবম-শিশু () শূন্যের পরিবর্তে এক থেকে পুনরাবৃত্তি করে?
যেমন এই উদাহরণে প্রদর্শিত । কেন এটি প্রথম উপাদানটি নির্বাচন করে এবং যখন দ্বিতীয়টি নয়
p :nth-child(1)
কেন: নবম-শিশু () শূন্যের পরিবর্তে এক থেকে পুনরাবৃত্তি করে?
যেমন এই উদাহরণে প্রদর্শিত । কেন এটি প্রথম উপাদানটি নির্বাচন করে এবং যখন দ্বিতীয়টি নয়
p :nth-child(1)
উত্তর:
আপনি যদি নিজের বাচ্চাদের গণনা করেন তবে আপনি "আমার প্রথম সন্তান", "আমার দ্বিতীয় সন্তান" ইত্যাদি বলতেন, "আমার জেরোথ শিশু" নয়। মানুষকে এভাবেই গণনা করা যায়। (দ্রষ্টব্য: এটি আমার দ্বারা কিছু বিষয়মূলক মতামত নয় This এটি আক্ষরিক অর্ডিনাল সংখ্যাগুলি কীভাবে কাজ করে))
আপনি এমনকি প্রশ্ন জিজ্ঞাসার কারণটি সম্ভবত আপনি একজন প্রোগ্রামার, এবং অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ সূচকগুলি অ্যারে এবং 0 থেকে আইটেমগুলি তালিকাভুক্ত করেন এর কারণ হ'ল সি এর মতো নিম্ন স্তরের ভাষায় একটি অ্যারে সত্যিই মেমরি ঠিকানার পয়েন্টার প্রথম আইটেমের এবং সূচকটি এই পয়েন্টারের তুলনায় একটি অফসেট। সুতরাং array[0]
প্রথম আইটেমের ঠিকানা মানে, প্রথম আইটেমের array[1]
ঠিকানা এবং 1 আইটেমের আকারের অর্থ, দ্বিতীয় আইটেম এবং এই জাতীয়।
অনেকগুলি উচ্চ-স্তরের ভাষাগুলি যা পয়েন্টার পাটিগণিতকে সমর্থন করে না সরাসরি ধারাবাহিকতা এবং পরিচিতির জন্য 0-ভিত্তিক সূচক ধরে রেখেছে। উদাহরণস্বরূপ সি-ডেরিভড সিনট্যাক্সযুক্ত সমস্ত ভাষা - জাভাস্ক্রিপ্ট সহ জাভাস্ক্রিপ্টে অ্যারেগুলি সম্পূর্ণ ভিন্ন উপায়ে প্রয়োগ করা হয়েছে। তবে এটি মোটেও সর্বজনীন নয় - সিওবিএল, ফোর্টরান, লুয়া এবং কিছু বেসিকের ব্যবহার 1-ভিত্তিক সূচক হিসাবে ভাষা। (ভিজ্যুয়াল বেসিক স্বাভাবিকভাবেই এটি উভয় বিশ্বের সবচেয়ে খারাপটিকে কনফিগারযোগ্য করে বেছে নিয়েছে)) সুতরাং এটি অবশ্যই অন্যান্য ভাষার ব্যবহার 0-ভিত্তিক সূচকের মতো নয়। এর মূল্য কী, এক্সপাথ এবং এক্সকিউয়ারি 1-ভিত্তিক সূচকও ব্যবহার করে।
বেশিরভাগ প্রোগ্রামাররা 1 এবং 0 ভিত্তিক ইনডেক্সিং উভয়ের সাথেই পরিচিত হবে, সাধারণ লোকেরা স্বাভাবিকভাবেই 1 থেকে গণনা করবে এবং সিএসএস এমন একটি ভাষা যা কেবল প্রোগ্রামারদের জন্য নয় ডিজাইনার এবং গ্রাফিক পেশাদারদের জন্য তৈরি করা হয়, সুতরাং 1-ভিত্তিক সূচী বাছাই করা স্বাভাবিক is ।
থেকে সিএসএস স্তর 3 নির্বাচক স্পেসিফিকেশন :
6.6.5.2। : নবম-শিশু () সিউডো-ক্লাস
:nth-child(an+b)
সিউডো-বর্গ স্বরলিপি একটি উপাদান আছে যা প্রতিনিধিত্ব করেan+b-1
, ডকুমেন্ট গাছে এটা আগে ভাইবোন কোন ধনাত্মক পূর্ণসংখ্যা অথবা শূন্য মানn
, এবং একটি পিতা বা মাতা উপাদান রয়েছে। শূন্যের চেয়ে বেশিa
এবং এর মানগুলির জন্যb
, এটি কার্যকরভাবে উপাদানটির বাচ্চাদেরa
উপাদানগুলির গোষ্ঠীতে বিভক্ত করে (শেষ দলটি বাকী অংশ গ্রহণ করে) এবংb
প্রতিটি দলের তৃতীয় উপাদান নির্বাচন করে । উদাহরণস্বরূপ, এটি নির্বাচকদের একটি সারণীতে প্রতিটি অন্যান্য সারিতে সম্বোধন করার অনুমতি দেয় এবং চারটি চক্রের অনুচ্ছেদে পাঠ্যের রঙটি বিকল্প হিসাবে ব্যবহার করতে পারে।a
এবংb
মান ইন্টিজার (ইতিবাচক, নেতিবাচক, বা শূন্য) হবে। কোনও উপাদানের প্রথম সন্তানের সূচক 1 হয়।
উদাহরণ সহ এটি আরও অনেক বিশদে যায়। দেখা যাচ্ছে যে এর চূড়ান্ত গণনা an+b
অবশ্যই একটি ধনাত্মক সংখ্যায় মোট।
যখন
a
= 0, অংশটি অন্তর্ভুক্ত করা দরকার না (যদি নাb
অংশটি ইতিমধ্যে বাদ দেওয়া থাকে)। যখনan
অন্তর্ভুক্ত থাকে না এবংb
অ-নেতিবাচক থাকে না, তখন + সাইনটি আগেb
(যখন অনুমতি দেওয়া হয়) বাদ দিতেও পারে। এই ক্ষেত্রে বাক্য গঠন সহজতর করে:nth-child(b)
।যদি উভয়ই হয়
a
এবংb
শূন্যের সমান হয় তবে সিউডো-শ্রেণি নথি গাছের কোনও উপাদানকে উপস্থাপন করে না।
জোর যোগ করার জন্য শেষ অনুচ্ছেদে অতিরিক্ত ফর্ম্যাটিং আমার।
সম্ভবত এক্সপথের সাথে সামঞ্জস্যের জন্য, অন্য একটি এক্সএমএল / এইচটিএমএল প্রক্রিয়াকরণ ভাষা। কোনটি প্রশ্নটি উত্সাহ দেয়, কেন এক্সপথ 1 ভিত্তিক সূচক ব্যবহার করে?
Https://stackoverflow.com/questions/3319341/why-do-indexes-in-xpath-start-with-1-and-not-0 দেখুন
প্রাসঙ্গিক (তবে বিতর্কিত উক্তি) হ'ল:
"... এক্স-পাথ এবং এক্সএসএলটি-র জন্য 1-ভিত্তিক যুক্তিটি সঠিক পছন্দ ছিল ... কারণ ভাষাটি ব্যবহারকারীদের জন্য ডিজাইন করা হয়েছিল, প্রোগ্রামারদের জন্য নয়, এবং ব্যবহারকারীদের এখনও এই বইয়ের প্রথম অধ্যায়টি উল্লেখ করার পুরানো ধরণের অভ্যাস রয়েছে প্রথম অধ্যায়..."