Pluto libraryLua के लिए लुआ सह-रूटीन को क्रमबद्ध करने में सक्षम होने का दावा है। मैं इसका अर्थ 'धारावाहिक निरंतरता' के रूप में समझता हूं, जो एक सिंक्रोनस शैली में लिखने वाले एसिंक्रोनस प्रोग्रामिंग को बनाने के लिए एक महत्वपूर्ण विशेषता है।एसिंक तर्क को सरल बनाने के लिए लुआ सह-रूटीन/निरंतरता क्रमबद्धता का वास्तविक दुनिया उपयोग?
उदाहरण के लिए, एक कार्यप्रवाह बजाय प्रवेश बिंदुओं
if (ask user is hungry) then
if (not ask user is vegetarian) then
if (ask user if likes_burgers) then
feed_user(burger)
else
tell_user("Picky!")
else
feed_user(salad)
function main()
ask(user is hungry, "hungry_response")
function hungry_response(answer)
if (answer is yes)
ask(user is vegetarian, "vegetarian_response")
function vegetarian_response(answer)
if (answer is yes)
feed_user(salad)
else
ask(user likes burgers, "burgers_response")
function burgers_response(answer)
if (answer is yes) then
feed_user(burger)
else
tell_user("Picky!")
के बजाय
जबकि अगर बयान पिछले शैली में अनुवाद किया बुरा नहीं कर रहे हैं, बातें नामित की आवश्यकता के बीच सीधा व्यक्त किया जा सकता एक बार जब आप स्थानीय चर, लूप, नेस्टेड फ़ंक्शन कॉल इत्यादि शामिल करते हैं तो बहुत जटिल हो जाते हैं।
यह वह जगह है जहां क्रमिक निरंतरता गंभीर रूप से बन जाती है जरूरी।
Serialized continuations जावाफ्लो, कोकून (रिंक), समुद्रतट, पीएलटी योजना, एसआईसीएस में उपयोग किया जाता है, और व्यवसाय वर्कफ़्लो, चिकित्सा निदान, और (मेरे मामले में), पाठ्यचर्या साहसिक खेलों से निपटने के लिए बहुत अच्छे हैं।
क्या लुआ और प्लूटो के किसी भी उदाहरण (उम्मीद है कि ओपन सोर्स!) का कोई उदाहरण है, इस तरह से अपनी सुविधाओं का लाभ उठाते हुए, एसिंक पर्यावरण में तर्क को सरल बनाने के लिए निरंतरता का उपयोग करते हुए?
धन्यवाद, मैं Tir के पहले नहीं सुना था! –