ما هو اسم الوظيفة التي تعتمد نتائجها فقط على معاييرها؟

StackOverflow https://stackoverflow.com/questions/2055478

سؤال

أنا أكتب برنامج مترجم ألعاب يمكن تحسين مكالمات الوظائف إذا كانت النتيجة تعتمد فقط على قيم الوسائط. لذا فإن وظائف مثل XOR و Concatenate تعتمد فقط على مدخلاتها ، حيث تعطيها باستدعائها بنفس الإدخال دائمًا نفس الإخراج. لكن وظائف مثل Time و Rand تعتمد على حالة البرنامج "المخفية" ، والاتصال بها بنفس الإدخال قد يعطي ناتجًا مختلفًا. أنا فقط أحاول معرفة الصفة التي تميز هذين النوعين من الوظائف ، مثل "Isomorphic" أو "إعادة الدخول" أو شيء من هذا القبيل. هل يمكن لأحد أن يخبرني الكلمة التي أبحث عنها؟

هل كانت مفيدة؟

المحلول

المصطلح الذي تبحث عنه نقي

نصائح أخرى

أعتقد أنه يسمى وظيفة نقية:

في برمجة الكمبيوتر ، قد يتم وصف وظيفة على أنها نقية إذا كان كلاتين هذين البيان حول تعليق الوظيفة:

  • تقوم الوظيفة دائمًا بتقييم نفس قيمة النتيجة بالنظر إلى نفس قيمة الوسيطة (ق). لا يمكن أن تعتمد قيمة نتيجة الوظيفة على أي معلومات أو حالة خفية قد تتغير مع استمرار تنفيذ البرنامج أو بين عمليات الإعدام المختلفة للبرنامج ، ولا يمكن أن تعتمد على أي مدخلات خارجية من أجهزة الإدخال/الإخراج.
  • لا يتسبب تقييم النتيجة في أي تأثير أو إخراج جانبي يمكن ملاحظته بشكل دلالي ، مثل طفرة الكائنات القابلة للتغيير أو الإخراج إلى أجهزة الإدخال/الإخراج.

لا تحتاج قيمة النتيجة إلى كل (أو أي) لقيم الوسيطة. ومع ذلك ، يجب أن يعتمد على أي شيء آخر غير قيم الوسيطة.

أعتقد أنك يمكن أن تقول أن الصفة "نقية" إذا ذهبت إلى "وظيفة خالصة".

لقد تعلمت دائمًا أن وظيفة ناتجها هي نفسها دائمًا عندما تكون الوسيطات دائمًا ما تسمى "حتمية". أنا شخصياً أشعر أن هذا مصطلح وصفي أكثر. أعتقد أن "الوظيفة النقية" هي بحكم التعريف ، ويبدو أن الوظيفة النقية مطلوبة أيضًا لعدم وجود أي آثار جانبية. أفترض أن هذا لا يجب أن يكون هو الحال لجميع الوظائف الحتمية (طالما أن قيمة الإرجاع هي نفسها دائمًا لنفس الوسائط).

رابط ويكيبيديا: http://en.wikipedia.org/wiki/deterministic_algorithm

يقتبس:

بالنظر إلى إدخال معين ، فإنه سيؤدي دائمًا إلى إنتاج نفس الإخراج ، وستمر الجهاز الأساسي دائمًا عبر نفس تسلسل الحالات.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top