एक फ़ंक्शन लिखें f
, जो एक सकारात्मक पूर्णांक में लेता है और एक फ़ंक्शन देता है।
लौटाए गए नए फ़ंक्शन के समान होना चाहिए f
। हालांकि, जब "समाप्ति कॉल" होती है, f
तो इसके बजाय पारित किए गए सभी पूर्णांकों का योग वापस करना चाहिए।
उदाहरण के लिए, g=f(4)
(यदि f
पहला फ़ंक्शन है) g
दूसरे फ़ंक्शन पर सेट होना चाहिए । h=g(3)
वही करेंगे। हालांकि, जब आप h
कोई तर्क नहीं देते हैं (विवरण के लिए नीचे देखें), तो इसे 7 आउटपुट होना चाहिए, क्योंकि यह पिछले फ़ंक्शन तर्क का योग है। , दूसरे शब्दों में f(3)(4)() == 7
।
ध्यान दें यह समान नहीं है f(3,4)()
।
"समाप्ति कॉल" निम्नलिखित विकल्पों में से एक है (आपकी पसंद):
- कॉल डब्ल्यू / ओ तर्क
- तर्क के रूप में अशक्त
- कोई भी गैर-सकारात्मक मूल्य
फ़ंक्शन कॉल की विपरीत मात्रा का समर्थन किया जाना चाहिए, कोई पूर्वनिर्धारित सीमा नहीं है।
यह गारंटी है कि कुल राशि 1'000 से अधिक नहीं होगी।
हम मान सकते हैं कि "समाप्ति कॉल" से पहले कम से कम एक कॉल किया जाता है।
आपके कोड को स्थिर, प्रति-प्रोग्राम चर का उपयोग नहीं करना चाहिए, इसलिए एक ही रनटाइम में कई बार प्रयोग चलाना संभव है और वास्तव में समान व्यवहार का निरीक्षण करना चाहिए।
उदाहरण:
f(1)() == 1
f(4)(2)(7)() == 13
f(4)(2)(7)(5)(2)() == 20
q = f(2)(3); b = f(1)(2)(3); q(); b()
?
f(4)
एक नया फ़ंक्शन देता है। यदि उस नए फ़ंक्शन को तर्कों के बिना कॉल किया जाता है, तो वह वापस लौटता है4
, लेकिन अगर उसे किसी अन्य तर्क के साथ बुलाया जाता है, तो वह फिर से उसी शब्दार्थ के साथ एक नया फ़ंक्शन लौटाएगा , लेकिन नए तर्क के साथ और इसी तरह जोड़ा जाएगा4
।