Ո՞րն է տարբերությունը «թող x = 5» -ի և «x = 5» - ի միջև Haskell- ում:


պատասխանել 1:

x = 5 կարող է լինել

  • Բարձրաստիճան հայտարարություն Տեղական հայտարարագիր է թողարկված արտահայտության մեջ կամ որտեղ կա բլոկ
x = 5 - վերին մակարդակի հայտարարագիր foo = - հիմար օրինակ գործառույթ ՝ ավելացնելով 5 և բաժանել 2-ով ՝ թող y = 2 x = 5 (/ y) մեջ: (+ x) foo = (/ y): (+ x) որտեղ y = 2 x = 5

թող x = 5 կարող է լինել

  • թույլ արտահայտման սկիզբը (տե՛ս վերևում) տեղական հռչակագիր ցանկում, որը հասկանում է տեղական հռչակագիրը վավերացման բլոկում:

Այն, ինչը չի կարող լինել, դա բարձր մակարդակի բացատրությունն է:

Haskell- ի նորեկները հաճախ շփոթվում են այս վերջին կետի հետ, քանի որ GHCi- ի կճեպում աշխատելիս նրանք պետք է մուտքագրեն x = 5 և ոչ միայն x = 5: Այնուամենայնիվ, դա այն պատճառով է, որ GHCI- ն ավարտում է ձեր մուտքագրվող յուրաքանչյուր տողը ՝ ենթադրաբար թողնելով, այնպես որ այն կոդը, որը Դուք ինտերակտիվորեն մուտքագրեք GHCi- ում, դառնում է երկար, բծախնդրորեն թող արտահայտություն: Արդյունքում, CHCi- ին մուտքագրված ծածկագիրը չունի նույն ձևաչափը, ինչ նորմալ Haskell ծածկագիրը: