কেন: সিএসএসে নবম শিশু () 0 এর পরিবর্তে 1 থেকে শুরু হয়?


15

কেন: নবম-শিশু () শূন্যের পরিবর্তে এক থেকে পুনরাবৃত্তি করে?

যেমন এই উদাহরণে প্রদর্শিত । কেন এটি প্রথম উপাদানটি নির্বাচন করে এবং যখন দ্বিতীয়টি নয়

p :nth-child(1)

12
"অ্যারে সূচকগুলি কি 0 বা 1 থেকে শুরু করা উচিত? আমার 0.5% এর আপসটি যথাযথ বিবেচনা না করেই প্রত্যাখ্যান করা হয়েছিল।" - স্ট্যান কেলি-বুটল
ম্যাসন হুইলার

1
যেহেতু আমার সন্দেহ হয় যে এটি কয়েকটি ঘনিষ্ঠ ভোট টানবে, তাই আমি এই উন্মুক্ত রেখে চলেছি কারণ সিএসএসে 1-সূচকের অন্যান্য উদাহরণ উদ্ধৃত করে এবং ধারাবাহিকতার দাবি করে বা কোনওটির কাছ থেকে কোনও প্রাসঙ্গিক বিবৃতি সন্ধানের মাধ্যমে অন্তত তাত্ত্বিকভাবে উত্তর দেওয়া সম্ভব is যে লোকেরা আসলে সিএসএসের মান সিদ্ধান্ত নেয়। আমি নিজেই এটি করতে সিএসএস সম্পর্কে প্রায় পর্যাপ্ত পরিমাণে জানি না, তবে যতক্ষণ না আমরা সমস্ত উত্তর 0-সূচকযুক্ত কেন তার কোনও যৌক্তিকতা ছাড়াই স্পষ্ট "এটি কেমন স্বাভাবিক মানুষ গণ্য" যুক্তিযুক্ত যে কোনও উত্তরকে অগ্রাহ্য করি না , তারপরে এই খোলা ছেড়ে কোন ক্ষতি নেই।
Ixrec

1
@ ল্যাক্সেরেক: আমি মনে করি এটি একটি দাবি যে "সমস্ত কিছু 0-সূচিযুক্ত" যা ন্যায়সঙ্গত হওয়া উচিত। আপনি রানী এলিজাবেথকে জেরোথ, ক্রিসমাসের জেরোথ দিবস, বাম দিকে জিরোথ রাস্তা বা পৃষ্ঠায় জিরোথ শব্দটি বলবেন না।
জ্যাকবিবি

@lxrec আমার উত্তরে এক্সপথকে 1-ভিত্তিক সূচকের নজির হিসাবে উদ্ধৃত করা হয়। এটি আসলে কোনও ফ্যাক্টর, বা কেবল একটি কাকতালীয় ছিল কিনা তা নিশ্চিত নয় তবে এটি অন্য একটি এক্সএমএল কেন্দ্রিক সিস্টেম যাতে এটি বোধগম্য হয়।
user949300

উত্তর:


15

আপনি যদি নিজের বাচ্চাদের গণনা করেন তবে আপনি "আমার প্রথম সন্তান", "আমার দ্বিতীয় সন্তান" ইত্যাদি বলতেন, "আমার জেরোথ শিশু" নয়। মানুষকে এভাবেই গণনা করা যায়। (দ্রষ্টব্য: এটি আমার দ্বারা কিছু বিষয়মূলক মতামত নয় This এটি আক্ষরিক অর্ডিনাল সংখ্যাগুলি কীভাবে কাজ করে))

আপনি এমনকি প্রশ্ন জিজ্ঞাসার কারণটি সম্ভবত আপনি একজন প্রোগ্রামার, এবং অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ সূচকগুলি অ্যারে এবং 0 থেকে আইটেমগুলি তালিকাভুক্ত করেন এর কারণ হ'ল সি এর মতো নিম্ন স্তরের ভাষায় একটি অ্যারে সত্যিই মেমরি ঠিকানার পয়েন্টার প্রথম আইটেমের এবং সূচকটি এই পয়েন্টারের তুলনায় একটি অফসেট। সুতরাং array[0]প্রথম আইটেমের ঠিকানা মানে, প্রথম আইটেমের array[1]ঠিকানা এবং 1 আইটেমের আকারের অর্থ, দ্বিতীয় আইটেম এবং এই জাতীয়।

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

বেশিরভাগ প্রোগ্রামাররা 1 এবং 0 ভিত্তিক ইনডেক্সিং উভয়ের সাথেই পরিচিত হবে, সাধারণ লোকেরা স্বাভাবিকভাবেই 1 থেকে গণনা করবে এবং সিএসএস এমন একটি ভাষা যা কেবল প্রোগ্রামারদের জন্য নয় ডিজাইনার এবং গ্রাফিক পেশাদারদের জন্য তৈরি করা হয়, সুতরাং 1-ভিত্তিক সূচী বাছাই করা স্বাভাবিক is ।



1
এটির সাহায্যে যদি আপনার উত্তর উল্লেখ করে যে আপনি বিশ্বাস করেন যে সিএসএস মূলত নন-প্রোগ্রামারদের দ্বারা ব্যবহারের জন্য করা হয়েছে (পছন্দসইভাবে কোনওভাবে ব্যাক আপ করা হয়েছে)
জেনাত

1
@ গ্যানাট প্রোগ্রামিংয়ে কোথাও কি এমন কোনও আইটেম রয়েছে যেখানে কোনও শিশুকে জিরোথ বলা হয়? যেহেতু নির্বাচক নবম-শিশু তাই প্রথম থেকেই শুরু করা এটি যৌক্তিক।
সামি কুহমনেন

1
আপনি কি শেষ অনুচ্ছেদ বাদে সবকিছু মুছতে পারবেন? বাকি সমস্ত কিছুই এই এসই তে সাধারণ জ্ঞান। "বেশিরভাগ প্রোগ্রামার ...... 1-ভিত্তিক সূচক নির্বাচন করা স্বাভাবিক"
এফটি

2
আমি আপনার উত্তরটির সাথে একমত নই, তবে আমরা যে জিনিসগুলি গণনা করি সেগুলি 1 থেকে শুরু হয় না You আপনি আপনার জীবনের প্রথম বছরের জন্য 0 বছর বয়সী - আপনি 1 এ শুরু করবেন না The দিনটি শুরু হয় না The সকাল 1:00 টায় - এটি সকাল 0:00 টা থেকে শুরু হয় যখন আমি আমার বাড়ি থেকে ভ্রমণ করা দূরত্ব পরিমাপ করি, আমি শূন্য থেকে শুরু করি। শূন্য থেকে গণনা মানুষের পক্ষে যেমন গণনা করা ঠিক তেমনি প্রাকৃতিক - এটি প্রসঙ্গে নির্ভর করে, যদিও আপনি ঠিক বলেছেন যে আমরা কখনই আমাদের শূন্যতম সন্তানের কথা বলব না :)
হারুন রাসমুসেন

6

থেকে সিএসএস স্তর 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শূন্যের সমান হয় তবে সিউডো-শ্রেণি নথি গাছের কোনও উপাদানকে উপস্থাপন করে না।

জোর যোগ করার জন্য শেষ অনুচ্ছেদে অতিরিক্ত ফর্ম্যাটিং আমার।


0

সম্ভবত এক্সপথের সাথে সামঞ্জস্যের জন্য, অন্য একটি এক্সএমএল / এইচটিএমএল প্রক্রিয়াকরণ ভাষা। কোনটি প্রশ্নটি উত্সাহ দেয়, কেন এক্সপথ 1 ভিত্তিক সূচক ব্যবহার করে?

Https://stackoverflow.com/questions/3319341/why-do-indexes-in-xpath-start-with-1-and-not-0 দেখুন

প্রাসঙ্গিক (তবে বিতর্কিত উক্তি) হ'ল:

"... এক্স-পাথ এবং এক্সএসএলটি-র জন্য 1-ভিত্তিক যুক্তিটি সঠিক পছন্দ ছিল ... কারণ ভাষাটি ব্যবহারকারীদের জন্য ডিজাইন করা হয়েছিল, প্রোগ্রামারদের জন্য নয়, এবং ব্যবহারকারীদের এখনও এই বইয়ের প্রথম অধ্যায়টি উল্লেখ করার পুরানো ধরণের অভ্যাস রয়েছে প্রথম অধ্যায়..."

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