ပရိုဂရမ်းမင်းနှင့်စက်မှုအစိတ်အပိုင်းများလောကတွင်ဟူသောဝေါဟာရများသည်ပထမတစ်ချက်တွင်ဆင်တူပုံရသော်လည်းကွဲပြားသောလက္ခဏာများရှိသည်။ သွေးပေးသွင်းသူတစ် ဦး အနေဖြင့်ကျွန်ုပ်သည်ရုပ်ပိုင်းဆိုင်ရာကုသမှုနှင့်နီးကပ်စွာအလုပ်လုပ်ရန်အခွင့်အရေးရရှိခဲ့ပြီးပရိုဂရမ်အယူအဆများကိုစိတ် 0 င်စားသည်။ ဤဘလော့ဂ်ပို့စ်တွင်၎င်းတို့သည်သူတို့၏ထူးခြားသောအင်္ဂါရပ်များနှင့် applications များကိုမီးမောင်းထိုးပြသည့်ဤအယူအဆနှစ်ခုအကြားကွဲပြားခြားနားမှုများကိုလေ့လာပါမည်။
စက်မှုအခြေအနေတွင်ပြန်လည်ကုသမှု
စက်မှုလုပ်ငန်းကဏ် in တွင်ဓာတ်အားပေးစက်သည်စွမ်းအင်အရင်းအမြစ်၏အမြန်နှုန်း, torque နှင့်လမ်းညွှန်မှုကိုပြောင်းလဲရန်အသုံးပြုသောစက်ကိရိယာတစ်ခုဖြစ်သည်။ နည်းစနစ်များကဲ့သို့သောစက်ယန္တရားများ၌သယ်ယူပို့ဆောင်ရေးစနစ်များ, စက်မှုလုပ်ငန်းရော်များ, အင်ဂျင် (သို့) မော်တာမှထုတ်လုပ်သောစွမ်းအားကိုစက်၏အလုပ်လုပ်သောအစိတ်အပိုင်းများကိုထိရောက်စွာပြောင်းရွှေ့ရန်အတွက်၎င်းတို့အားအရေးပါသောအခန်းကဏ် play မှပါ 0 င်သည်။
စက်မှုတင်းကြပ်သောအဓိကအင်္ဂါရပ်များထဲမှတစ်ခုမှာ torque ကိုတိုးမြှင့်နေစဉ် input shaft အမြန်နှုန်းကိုလျှော့ချနိုင်စွမ်းဖြစ်သည်။ ၎င်းကိုအထူးအချိုးအစားတွင်ပါဝါကိုထုတ်လွှင့်ရန်ဒီဇိုင်းပြုလုပ်ထားသောဂီယာသို့မဟုတ်အခြားစက်ပိုင်းဆိုင်ရာအစိတ်အပိုင်းများမှတစ်ဆင့်ရရှိနိုင်ပါသည်။ ဥပမာအားဖြင့် 10: 1 ၏ဂီယာအချိုးအစားနှင့်အတူလျှော့ချခြင်း 10: 1 သည်အချက်တစ်ချက်အားဖြင့် torque ကိုတိုးမြှင့်နေစဉ် 10 ၏အချက်အားဖြင့် 10 အချက်အားဖြင့် input shape ၏အမြန်နှုန်းကိုလျော့နည်းစေသည်။
ပြန်လည်ပေးသွင်းသူတစ် ဦး အနေဖြင့်ကျွန်ုပ်တို့သည်အမျိုးမျိုးသောအသုံး 0 င်ရန်မတူညီသောပစ္စည်းများမှပြုလုပ်သောအမျိုးမျိုးသောနည်းစနစ်များဖြင့်ကမ်းလှမ်းသည်။ ဥပမာအားဖြင့်,သံမဏိအာရုံစူးစိုက်မှုလျှော့ချရေးသူတို့ရဲ့ချေးခုခံနှင့်ကြာရှည်ခံမှုကြောင့်လူသိများသော။ ဤလျော့နည်းစေသောနည်းစနစ်များကိုအစိုဓာတ်နှင့်ဓာတုပစ္စည်းများနှင့်ထိတွေ့မှုအန္တရာယ်ရှိသည့်ပတ်ဝန်းကျင်တွင်အသုံးပြုရန်အတွက်အကောင်းဆုံးဖြစ်သည်။ ငါတို့လည်းပေးကာဗွန်သံမဏိအာရုံစူးစိုက်မှုလျှော့ချရေးခိုင်ခံ့ပြီးကုန်ကျစရိတ်များ - ထိရောက်သော, ၎င်းတို့ကိုစက်မှုအသုံးချမှုများအတွက်လူကြိုက်များသောရွေးချယ်မှုဖြစ်သည်။ ဒါပဲငါတို့အလွိုင်းသံမဏိအာရုံစူးစိုက်မှုကိုလျှော့ချတိုးမြှင့်အစွမ်းသတ္တိနှင့်စွမ်းဆောင်ရည်ကိုမြှင့်တင်ပေးပါ။
ပရိုဂရမ်တွင် curried လုပ်ဆောင်ချက်များကို
ပရိုဂရမ်းမင်းဘုံ၌အချို့သော function တစ်ခုသည်တစ်ချိန်တည်းမှာပင်တစ်ချိန်တည်းတွင်အငြင်းပွားမှုများကိုလက်ခံရန် function ကိုခွင့်ပြုသည့် technique တစ်ခုဖြစ်သည်။ အငြင်းပွားမှုများအားလုံးကိုခေါ်ဆိုမှုတစ်ခုတည်းဖြင့်လုပ်ဆောင်မည့်အစားအငြင်းပွားမှုတစ်ခုစီပေးသည့်အခါတိုင်း curred function သည် function အသစ်တစ်ခုကိုပြန်ပို့သည်။ ဤလုပ်ဆောင်ချက်အသစ်သည်ကျန်ရှိသောအငြင်းပွားမှုများကိုမျှော်လင့်သည်။
ဤအယူအဆကိုသရုပ်ဖော်ရန် JavaScript တွင် JavaScript တွင်ဥပမာအားဖြင့်ရိုးရှင်းသောဥပမာကိုယူကြပါစို့။ နံပါတ်နှစ်ခုကိုထပ်ပြောနိုင်သည့် function တစ်ခုကိုသုံးသပ်ကြည့်ပါ။
function ကို add (A, B) {A + B ကိုပြန်ပို့ပါ။ }
ကျွန်ုပ်တို့သည်ဤလုပ်ဆောင်မှုကိုအောက်ပါအတိုင်း curress function ကိုပြောင်းလဲနိုင်သည် -
CurriedAdd function (က) {ပြန်လာသော function (ခ) {+ b ကိုပြန်ယူ; }; } COLSTATFIVE = Curriedadd (5), console.log (addfive (3)); // output: 8
ဒီဥပမာမှာကေှးတင်function ကိုပထမ ဦး ဆုံးအငြင်းအခုံကြာပါသည်တစ်စီးနှင့်အသစ်တခု function ကိုပြန်ပို့။ ဒီ function ကိုအသစ်ကဒုတိယအငြင်းအခုံကြာပါသည်ခနှင့်ပေါင်းလဒ်ကိုပြန်ပို့သည်တစ်စီးနှင့်ခ။ Currying ၏အားသာချက်မှာ၎င်းသည်ပိုမိုလွယ်ကူစွာပြောင်းလွယ်ပြင်လွယ်နှင့်ပြန်လည်သုံးသပ်ရန်ခွင့်ပြုခြင်းဖြစ်သည်။ ကျနော်တို့နှင့်အတူပြထားတဲ့အတိုင်းအငြင်းပွားမှုများကိုတစ်စိတ်တစ်ပိုင်းလျှောက်ထားခြင်းအားဖြင့်အထူးပြုလုပ်ဆောင်ချက်များကိုဖန်တီးနိုင်ပါတယ်appfivefunction ကို။
ကုသမှုနှင့် curred လုပ်ဆောင်ချက်များအကြားအဓိကကွဲပြားခြားနားမှု
1 ။ သဘာဝနှင့်ရည်ရွယ်ချက်
- လျှော့ချ- စက်မှုအခြေအနေတွင်ပါဝါအရင်းအမြစ်၏စက်မှုဂုဏ်သတ္တိများကိုပြုပြင်ရန်ဒီဇိုင်းပြုလုပ်ထားသောရုပ်ပိုင်းဆိုင်ရာကိရိယာများဖြစ်သည်။ သူတို့၏အဓိကရည်ရွယ်ချက်မှာစက်၏အမြန်လည်ပတ်မှုလိုအပ်ချက်များနှင့်ကိုက်ညီရန်အမြန်နှုန်းနှင့် torque ကိုညှိရန်ဖြစ်သည်။
- curried လုပ်ဆောင်ချက်များကို- code ၏ပြောင်းလွယ်ပြင်လွယ်နှင့်ပြုပြင်ခြင်းကိုမြှင့်တင်ရန်အတွက် curried လုပ်ဆောင်ချက်များကိုပရိုဂရမ်အယူအဆတစ်ခုဖြစ်သည်။ ၎င်းတို့သည်လုပ်ဆောင်ချက်များကိုတစ်စိတ်တစ်ပိုင်းကိုအသုံးပြုခွင့်ပြုသည်, ၎င်းသည်ပြန်လည်သုံးသပ်ရန်နှင့် composable code များပိုမိုဖြစ်ပေါ်စေနိုင်သည်။
2 ။ input နှင့် output ကို
- လျှော့ချ: လျှော့ချသူများသည်မတူညီသောအမြန်နှုန်းနှင့် torque ၏ဝိသေသလက္ခဏာများဖြင့် input နှင့် output power အဖြစ်စက်မှုစွမ်းအင်ကိုအသုံးပြုသည်။ ထည့်သွင်းမှုသည်ပုံမှန်အားဖြင့်အင်ဂျင်သို့မဟုတ်မော်တာမှအလှည့်ရွေ့လျားမှုပုံစံနှင့်ထုတ်လုပ်မှုကိုစက်၏လုပ်ငန်းအစိတ်အပိုင်းများသို့ပြောင်းရွှေ့သည်။
- curried လုပ်ဆောင်ချက်များကို- အအေးမိခြင်းလုပ်ဆောင်ချက်များသည်အငြင်းပွားမှုများကိုထည့်သွင်းခြင်းဟုယူဆပြီးလုပ်ဆောင်ချက်အသစ်သို့မဟုတ်နောက်ဆုံးရလဒ်ကိုပြန်ပို့ပါ။ Input သည် function တစ်ခု၏ရည်ရွယ်ချက်ပေါ် မူတည်. မည်သည့်ဒေတာအမျိုးအစားမဆိုဖြစ်နိုင်သည်။
3 ။ လျှောက်လွှာဇာတ်လမ်းတစ်ပုဒ်
- လျှော့ချ: လျှော့ချရေးလုပ်ငန်းများကိုထုတ်လုပ်ခြင်း, မော်တော်ကားနှင့်လေကြောင်းကဲ့သို့သောစက်မှုလုပ်ငန်းများတွင်ကျယ်ပြန့်စွာအသုံးပြုသည်။ မြန်နှုန်းနှင့် torque ကိုတိကျသောထိန်းချုပ်ရန်လိုအပ်သောစက်ယန္တရားများနှင့်ပစ္စည်းကိရိယာများကိုသင့်လျော်စွာလုပ်ဆောင်နိုင်ရန်အတွက်သူတို့မရှိမဖြစ်လိုအပ်သည်။
- curried လုပ်ဆောင်ချက်များကို- အအေးမိခြင်းလုပ်ငန်းများကို Haskell, JavaScript နှင့် Scala ကဲ့သို့သောအလုပ်လုပ်သည့်ပရိုဂရမ်းမင်းဘာသာစကားများတွင်အသုံးပြုသည်။ ၎င်းတို့သည်လုပ်ဆောင်မှုများကိုရေးဆွဲခြင်းနှင့်လုပ်ရပ်များကိုကိုင်တွယ်ဖြေရှင်းခြင်းကဲ့သို့သောလုပ်ဆောင်မှုများကိုရေးခြင်း, ပြန်လည်သုံးသပ်ခြင်း,
4 ။ ရုပ်ပိုင်းဆိုင်ရာ vs. စိတ်တဇ
- လျှော့ချ- လျှော့ချသူများသည်ရုပ်ပိုင်းဆိုင်ရာအရာဝတ်ထုများဖြစ်သည်။ သူတို့ကတကယ့်ကမ္ဘာမှာသိသာထင်ရှားတဲ့ရှိနေခြင်းရှိပြီးစက်မှု 0 တ်ဆင်ခြင်းနှင့်မျက်ရည်ကျခံရသည်။
- curried လုပ်ဆောင်ချက်များကို- အအေးမိခြင်းလုပ်ငန်းများသည် software ၏နယ်ပယ်အတွင်းရှိစိတ်တဇသဘောတရားများဖြစ်သည်။ ၎င်းတို့ကိုကုဒ်လိုင်းများဖြင့်ကိုယ်စားပြုပြီးရုပ်ပိုင်းဆိုင်ရာပုံစံမရှိပါ။
ကောက်ချက်
နိဂုံးချုပ်အနေဖြင့်, လျှော့ချခြင်းနှင့်အအေးလုပ်ဆောင်မှုများသည်သွင်းအားစုများအသွင်ပြောင်းနိုင်စွမ်းနှင့် ပတ်သက်. အချို့သောဆင်တူမှုများရှိနေသော်လည်း၎င်းတို့သည်အဓိကအားဖြင့်ကွဲပြားခြားနားသောအယူအဆများဖြစ်သည်။ ကုသမှုသည်စက်မှုလောကတွင်မရှိမဖြစ်လိုအပ်သောအစိတ်အပိုင်းများဖြစ်ပြီးစက်မှုစွမ်းအင်အသွင်ပြောင်းရေးကိုထောက်ပံ့ပေးပြီး coverramming တွင် code ပြောင်းလွယ်ပြင်လွယ်မှုနှင့်ပြန်လည်ထူထောင်ရေးအတွက်အဖိုးတန်သောကိရိယာများဖြစ်သည်။
အကယ်. သင်၏စက်မှုအသုံးချမှုများအတွက်အရည်အသွေးမြင့်သက်သာလာရာများကိုသင်လိုအပ်ပါကကျွန်ုပ်တို့ကူညီရန်ဤနေရာတွင်ရှိနေသည်။ ကျွန်ုပ်တို့၏ကျွမ်းကျင်သူအဖွဲ့၏အသင်းသည်သင်၏လိုအပ်ချက်များအတွက်မှန်ကန်သောလျှော့ချရေးကိုရွေးချယ်ရာတွင်သင့်အားကူညီနိုင်သည်။ သင်တစ် ဦး လိုအပ်လားသံမဏိအာရုံစူးစိုက်မှုလျှော့ချရေးတစ်ကာဗွန်သံမဏိအာရုံစူးစိုက်မှုလျှော့ချရေးသို့မဟုတ်တစ်ခုသို့မဟုတ်တစ်ခုအလွိုင်းသံမဏိအာရုံစူးစိုက်မှုကိုလျှော့ချသင်၏လိုအပ်ချက်များကိုဖြည့်ဆည်းရန်ကျွန်ုပ်တို့တွင်ထုတ်ကုန်များနှင့်ကျွမ်းကျင်မှုရှိသည်။ သင်၏ဝယ်ယူရေးလိုအပ်ချက်များကိုဆွေးနွေးရန်ယနေ့ကျွန်ုပ်တို့ကိုဆက်သွယ်ပါ။ သင်၏စီးပွားရေးလုပ်ငန်းအတွက်အကောင်းဆုံးဖြေရှင်းနည်းများကိုရှာဖွေရန်အတူတကွလုပ်ဆောင်ကြပါစို့။
ကိုးကားခြင်း
- Skilena, Steven S. "algorithm ဒီဇိုင်းလက်စွဲစာအုပ်။ " Springer သိပ္ပံနှင့်စီးပွားရေးမီဒီယာ 2008 ။
- Crockord, ဒေါက်ဂလပ်။ "JavaScript: ကောင်းသောအစိတ်အပိုင်းများ။ " O'Reilly Media, 2008 ။
