একটি বিষয় যা আমি স্পষ্টভাবে উল্লিখিত দেখতে পাচ্ছি না (যদিও এটিতে অ্যামোন সংকেত রয়েছে) তা হল বর্গমূলকে "উত্পন্ন" অপারেশন হিসাবে ভাবা যেতে পারে: যদি বাস্তবায়ন এটি আমাদের জন্য সরবরাহ করে না, তবে আমরা আমাদের নিজস্ব লিখতে পারি।
যেহেতু প্রশ্নটি ভাষা-নকশার সাথে ট্যাগ করা হয়েছে, তাই আমরা কিছু ভাষা-অজ্ঞাত সম্পর্কিত বর্ণনা বিবেচনা করতে পারি। যদিও অনেক ভাষায় বিভিন্ন দর্শন রয়েছে তবে আক্রমণকারীদের সংরক্ষণে এনক্যাপসুলেশন ব্যবহার করা দৃষ্টান্তগুলির মধ্যে খুব সাধারণ বিষয়; উদাহরণস্বরূপ যে জাতীয় মানটি আচরণ করে না এমন কোনও মান এড়াতে।
উদাহরণস্বরূপ, যদি আমাদের কাছে মেশিনের শব্দ ব্যবহার করে পূর্ণসংখ্যার কিছু প্রয়োগ থাকে তবে আমরা সম্ভবত উপস্থাপনাটি কোনওভাবে আবদ্ধ করতে চাই (উদাহরণস্বরূপ, বিট শিফটগুলি পরিবর্তন থেকে রোধ করতে) তবে একই সাথে অপারেশনগুলি প্রয়োগ করতে আমাদের এখনও সেই বিটগুলিতে অ্যাক্সেস প্রয়োজন need সংযোজন.
কিছু ভাষা ক্লাস এবং ব্যক্তিগত পদ্ধতিতে এটি প্রয়োগ করতে পারে:
class Int {
public Int add(Int x) {
// Do something with the bits
}
private List<Boolean> getBits() {
// ...
}
}
মডিউল সিস্টেম সহ কিছু:
signature INT = sig
type int
val add : int -> int -> int
end
structure Word : INT = struct
datatype int = (* ... *)
fun add x y = (* Do something with the bits *)
fun getBits x = (* ... *)
end
লেক্সিকাল স্কোপ সহ কিছু:
(defun getAdder ()
(let ((getBits (lambda (x) ; ...
(add (lambda (x y) ; Do something with the bits
'add))
ইত্যাদি। যাইহোক, কেউ এই প্রক্রিয়া বর্গমূল বাস্তবায়নের জন্য প্রয়োজন হয়: এটি ব্যবহার বাস্তবায়ন করা যায় প্রকাশ্য একটি সাংখ্যিক ধরনের ইন্টারফেস, এবং অত: পর এটা encapsulated বাস্তবায়ন বিবরণ অ্যাক্সেস প্রয়োজন হবে না।
সুতরাং বর্গক্ষেত্রের অবস্থানটি ভাষা এবং লাইব্রেরি ডিজাইনারের দর্শনের / স্বাদে নেমে আসে। কেউ কেউ এটিকে সংখ্যাসূচক মানগুলির "ভিতরে" রাখার পছন্দ করতে পারেন (উদাহরণস্বরূপ এটি একটি উদাহরণ পদ্ধতি তৈরি করুন), কেউ কেউ এটিকে আদিম ক্রিয়াকলাপের মতো একই স্তরে রেখে যেতে বেছে নিতে পারেন (এটি উদাহরণস্বরূপের পদ্ধতির অর্থ হতে পারে, বা এর অর্থ বাইরে থাকতে পারে ) সাংখ্যিক মান কিন্তু ভিতরে একই মডিউল / শ্রেণী / নামস্থান যেমন একটি স্বতন্ত্র ফাংশন বা স্ট্যাটিক পদ্ধতি হিসাবে), কিছু "সাহায্যকারী" ফাংশন একটি সংগ্রহ এটা করা চয়ন করতে পারে, কিছু তৃতীয় পক্ষের লাইব্রেরি থেকে এটি প্রতিনিধির নিকট হস্তান্তরের চয়ন করতে পারে।
1.sqrt()
বৈধ হতে?