এলোমেলো সংখ্যা উৎপন্ন করা

Lua:
এলোমেলো সংখ্যা উৎপন্ন করা

কিভাবে:

Lua-তে যাদুঘর সংখ্যা উত্পাদনের জন্য বিল্ট-ইন সাপোর্ট রয়েছে যা math.random ফাংশনের মাধ্যমে করা যায়। যে কাঙ্ক্ষিত আউটপুট নির্ভর করে, এই ফাংশনটি একাধিক উপায়ে ব্যবহৃত হতে পারে:

  1. 0 এবং 1 এর মধ্যে একটি যাদুঘর ফ্লোটিং-পয়েন্ট সংখ্যা উত্পাদন:
print(math.random())

নমুনা আউটপুট হতে পারে 0.13117647051304। প্রতিটি রান ভিন্ন মান উৎপন্ন করে।

  1. নির্দিষ্ট রেঞ্জের মধ্যে যাদুঘর পূর্ণাঙ্ক উত্পাদন:

দুই সীমানার মধ্যে একটি যাদুঘর পূর্ণাঙ্ক উত্পাদনের জন্য, আপনাকে প্রথমে math.randomseed(os.time()) ব্যবহার করে সীড সেট করতে হবে ভেরিয়েবিলিটির জন্য, তারপর দুটি আর্গুমেন্টের সাথে math.random কল করতে হবে:

math.randomseed(os.time())
print(math.random(1, 10)) -- 1 এবং 10 এর মধ্যে একটি যাদুঘর পূর্ণাঙ্ক উত্পাদন করে

নমুনা আউটপুট হতে পারে 7। আবার, প্রতিবার আউটপুট ভিন্ন হবে।

math.randomseed ব্যবহার করে সীড সেট করা এই কারণে গুরুত্বপূর্ণ কারণ এটি ছাড়া, math.random প্রতি প্রোগ্রামের রানে একই সংখ্যার ধারা উত্পাদন করতে পারে। সাধারণত, বর্তমান সময়, os.time(), প্রতি নির্বাহে ভিন্ন ধারা নিশ্চিত করে।

গভীর ডুব

Lua-তে (এবং অধিকাংশ প্রোগ্রামিং ভাষায়) যাদুঘর সংখ্যা উত্পাদনের অধীনে যে পদ্ধতি আছে তা সত্যিই যাদুঘর নয় বরং পিউডোর‍্যান্ডম, যা অ্যালগরিদম দ্বারা উৎপাদিত হয়। এই পিউডোর‍্যান্ডম নাম্বার জেনারেটারস (PRNGs) হল নির্ধারক এবং সংখ্যার ধারা উৎপাদন শুরু করার জন্য একটি সীড মূল্যের প্রয়োজন। যাদুঘরতা মানের জন্য সীডিং এর চয়ন খুব উল্লেখযোগ্য, যা বর্তমান সময় ব্যবহার একটি সাধারণ অনুশীলন।

ঐতিহাসিকভাবে, Lua-র যাদুঘর সংখ্যা উৎপাদন ক্ষমতা বিকশিত হয়েছে। পূর্ববর্তী সংস্করণগুলি C স্ট্যান্ডার্ড লাইব্রেরির rand() ফাংশনের উপর নির্ভর করত, যা ইমপ্লিমেন্টেশনগুলিতে মান এবং পারফর্মেন্সে ভিন্ন ছিল। Lua-র বর্তমান সংস্করণ এটি উন্নত করেছে যেটি অন্তর্নিহিত প্ল্যাটফর্মের উপর নির্ভর করে আরো শক্তিশালী পদ্ধতি ব্যবহার করে, যাদুঘর সংখ্যা উৎপাদনের জন্য বৃহত্তর সুসংগতি এবং উপযোগিতা অফার করছে।

যাদুঘর স্তরের নিরাপত্তার জন্য প্রজেক্টগুলি প্রয়োজন হলে, বিল্ট-ইন Lua ফাংশন্যালিটি পর্যাপ্ত নাও হতে পারে কারণ PRNGs-এর নির্ধারক প্রকৃতি। এই ধরনের ক্ষেত্রে, প্রোগ্রামাররা প্রায়ই বাহ্যিক লাইব্রেরিগুলি অথবা সিস্টেম-নির্দিষ্ট APIs-এ মোড়ানো যা উচ্চ-নিরাপত্তা অ্যাপ্লিকেশনের জন্য উপযুক্ত অনির্ধারক যাদুঘর সংখ্যা সরবরাহ করতে পারে।