मैं एक फ़ंक्शन को लागू करने का प्रयास कर रहा हूं जो एक रिकर्सिव क्लोजर देता है। हालांकि, मुझे यह सुनिश्चित नहीं है कि फ़ंक्शन हस्ताक्षर में इसे कैसे व्यक्त किया जाए। पाइथनएक रिकर्सिव क्लोजर लौटने के लिए फ़ंक्शन हस्ताक्षर
def counter(state):
def handler(msg):
if msg == 'inc':
print state
return counter(state + 1)
if msg == 'dec':
print state
return counter(state - 1)
return handler
c = counter(1)
for x in range(1000000):
c = c('inc')
और जंग के लिए छद्म कोड में एक कार्य कार्यान्वयन का उदाहरण कोड यहां दिया गया है।
enum Msg {
Inc,
Dec
}
fn counter(state: Int) -> ? {
move |msg| match msg {
Msg::Inc => counter(state + 1),
Msg::Dec => counter(state - 1),
}
}