Yuav Sau Li Cas Qhov Kev Kawm Yooj Yim hauv Haskell (nrog Duab)

Cov txheej txheem:

Yuav Sau Li Cas Qhov Kev Kawm Yooj Yim hauv Haskell (nrog Duab)
Yuav Sau Li Cas Qhov Kev Kawm Yooj Yim hauv Haskell (nrog Duab)

Video: Yuav Sau Li Cas Qhov Kev Kawm Yooj Yim hauv Haskell (nrog Duab)

Video: Yuav Sau Li Cas Qhov Kev Kawm Yooj Yim hauv Haskell (nrog Duab)
Video: Yuav ua li cas kos tus vaub kib zoo nkauj ntawm lub computer 2024, Lub peb hlis ntuj
Anonim

Koj puas tau xav dhia mus rau txoj haujlwm nrog Haskell tab sis tsis paub pib qhov twg? Zoo, koj tsis tas yuav saib ntxiv lawm! Cov wikiHow no yuav qhia pom yuav ua li cas kom tau txais Haskell code ua haujlwm ntawm koj Windows 10 system. Haskell yog hom ntawv zoo li, siv lub ntsiab lus ua haujlwm dawb huv. Yog xav paub ntxiv thiab peev txheej ntawm Haskell, saib Haskell cov ntaub ntawv nplooj ntawv, Haskell wiki, thiab Haskell wikibook.

Cov kauj ruam

Ntu 1 ntawm 2: Txhim Kho Chocolatey thiab Haskell Toolchain

Cov kauj ruam no yuav qhia pom yuav ua li cas thiaj tau Chcolatey khiav ntawm Windows thiab yuav siv Chocolatey li cas los rub lub Haskell toolchain. Chocolatey yog lub tshuab-qib pob tus thawj tswj hwm tsim tshwj xeeb rau Microsoft Windows. Tseem ceeb dua, Chocolatey yog Haskell.org txoj kev pom zoo rau kev txhim kho cov khoom siv uas xav tau ntawm lub Windows platform. Koj yuav siv Chocolatey's qhib-qhov version. Yog xav paub ntxiv saib Vim Li Cas Chocolatey?, Txhim Kho Chocolatey, thiab Chocolatey Courses.

Cov lus piav qhia 2020 06 28 143258
Cov lus piav qhia 2020 06 28 143258

Kauj Ruam 1. Paub txog koj li kev tsim qauv

Qhib lub hauv paus txheej txheem cov ntaub ntawv saib. Nws nyob hauv cov tswj vaj huam sib luag ntawm

Tswj Vaj Huam Sib Luag> System thiab Security> System

. Ntawm kab ntawv xov xwm kab ke, koj yuav pom cov ntaub ntawv tseem ceeb txog koj lub Windows system. Hauv qab Txheej txheem ntu, koj yuav pom System yam. Tsuas yog rau sab xis ntawm daim ntawv lo nws yuav qhia koj cov qauv tsim. (piv txwv li 32-ntsis lossis 64-ntsis)

Cov lus piav qhia 2020 06 28 143139
Cov lus piav qhia 2020 06 28 143139

Kauj Ruam 2. Nruab Powershell

Koj yuav siv Powershell hauv qib tom ntej los teeb tsa Chocolately. Nyem rau qhov no mus rau Powershell 7 qhov kev tso tawm tshiab tshaj plaws ntawm Github. Muaj ntau ntau qhov sib txawv ntawm nplooj ntawv no, tab sis koj yuav tsum tsuas yog tsom mus rau cov ntawv sib xws nrog Windows. Lawv yuav saib yuav luag zoo ib yam rau

PowerShell-7.x.y-win-ARCH.msi

qhov twg

x.y ua

yog kev rhuav tshem-uas koj tuaj yeem tsis quav ntsej vim tias lawv zoo ib yam-thiab

ARCH

yog x64 lossis x86 (64-ntsis thiab 32-ntsis, feem). Koj yuav xav rub tawm ib qho uas phim koj lub system architecture. Piv txwv, yog tias qhov hloov tshiab kawg yog 7.0.2 thiab koj lub tshuab ua haujlwm 32-ntsis architecture (x86), koj yuav tsum rub tawm

PowerShell-7.0.2-yeej-x86.msi

. Ib yam nkaus, rau 64-ntsis architecture, cov ntaub ntawv yuav muaj x64 hloov chaw ntawm x86.

Cov lus piav qhia 2020 06 28 150733
Cov lus piav qhia 2020 06 28 150733

Kauj Ruam 3. Khiav lub installer tom qab nws ua tiav rub tawm

Koj yuav tsum tsis tas yuav thab nrog kev teeb tsa; Txawm li cas los xij, nco ntsoov txheeb xyuas qhov "Qhib Ntawm No" cov ntawv qhia zaub mov ntxiv kev xaiv. Qhov no yuav ua kom yooj yim dua thiab sai dua qhib Powershell rau cov npe tshwj xeeb.

Kauj Ruam 4. Rub lub Windows Terminal los ntawm Microsoft Store

Qhov no yog qhov tseem ceeb qhwv rau Powershell uas hloov kho qhov zoo thiab hnov ntawm Powershell thaum txhim kho kev ua haujlwm tau zoo thiab ntxiv qee qhov ua haujlwm suav nrog kev koom ua ke ntawm lwm lub plhaub. Nyem rau qhov no mus rau Windows Terminal rub tawm nplooj ntawv.

Cov lus piav qhia 2020 06 28 152228
Cov lus piav qhia 2020 06 28 152228

Kauj Ruam 5. Nruab Chocolatey

Txhawm rau pib, Khiav Windows Terminal ua Tus Thawj Coj. Yog tias koj tsis ua tus Thawj Coj, Chocolatey yuav tsis teeb tsa vim tias koj xav tau txoj cai tshwj xeeb. Ib txwm, nws ua raws txhua lub sijhawm koj xav khiav Chocolatey, koj yuav tsum muaj cov cai tshwj xeeb (piv txwv li koj yuav tsum muaj koj qhov kev khiav tam sim ua Tus Thawj Coj).

Annotation 2020 06 28 153004 2
Annotation 2020 06 28 153004 2

Kauj Ruam 6. Nkag mus rau cov lus txib hauv qab no hauv cov ntawv ua ntu zus

Txog kev siv, kuv tau qhia ua piv txwv hauv daim duab saum toj no.

Teeb-ExecutionPolicy RemoteSigned

Teeb -ExecutionPolicy Bypass -Scope Process -Force; iwr https://chocolatey.org/install.ps1 -UseBasicParsing | iex ib

Kauj Ruam 7. Rov Pib Windows Terminal lossis khiav cov lus txib

rov ua dua tshiab

hloov tshiab

$ Env: Txoj Kev

nrog cov tshiab teeb tsa

choco cov

.

Koj tuaj yeem tshawb xyuas qhov no los ntawm kev khiav

choco -kev hloov pauv

. Yog tias koj tsis tau txais qhov yuam kev, tom qab ntawd txhua yam zoo li qub. Yog xav paub ntau ntxiv txog kev txhim kho Chocolatey thov mus ntsib Txhim Kho Chocolatey

Annotation 2020 07 01 011730 2
Annotation 2020 07 01 011730 2

Kauj Ruam 8. Nruab Haskell cov cuab yeej

Raws li tau sau tseg hauv Haskell lub vev xaib, koj yuav tsum teeb tsa

haskell-dev

pob ntawm Chocolatey. Ua ntej khiav

choco cov

xyuas kom koj tau rov pib dua Windows Termal lossis khiav cov lus txib

rov ua dua tshiab

yog li ntawd

choco cov

yuav nyob hauv

$ Env: Txoj Kev

. Siv qhov ua kom nrawm, khiav cov lus txib hauv qab no

choco nruab haskell -dev -y

Annotation 2020 07 01 011730 3
Annotation 2020 07 01 011730 3

Kauj ruam 9. Khiav cov lus txib refreshenv

Ib zaug

haskell-dev

tiav kev teeb tsa, khiav

rov ua dua tshiab

thiab kuaj seb lawv puas nyob hauv koj txoj kev. Koj tuaj yeem ua qhov no los ntawm kev khiav

ghc -rov

mus xyuas tus compiler.

Ntu 2 ntawm 2: Tsim Koj Thawj Txoj Haujlwm Haskell

Kauj Ruam 1. Qhib daim ntawv tshiab uas tsis muaj dab tsi

Koj tuaj yeem siv cov ntawv nyeem uas koj xav tau (piv txwv li vscode, atom, sublime, thiab lwm yam). Qhib koj cov ntawv nyeem xaiv nrog cov ntawv tsis muaj dab tsi. Koj yuav khaws daim ntawv no ua

nyob zoo.hs

. Cov

.hs ua

kev txuas ntxiv yog siv los txheeb xyuas cov ntaub ntawv uas muaj Haskell qhov chaws.

Kauj Ruam 2. Tsim thawj qhov sib txawv hauv Haskell

Koj yuav tsum tau txhais qhov sib txawv hu ua main. Tus sau ua ke haskell tab tom nrhiav rau qhov no thaum koj suav koj qhov chaws.

lub ntsiab:: IO ()

  1. Cov

    ::

  2. tus neeg teb xov tooj tuaj yeem nyeem tau raws li "muaj hom".
  3. Yog li koj tuaj yeem nyeem kab ntawv saum toj no ntawm txoj cai li

    lub ntsiab

    "muaj hom"

    IO ()

  4. Cov

    IO ()

    yam yog yam uas hu ua a

    Monad

    . Kuv yuav tsis tau ntxaws tab sis koj tuaj yeem nyeem ntxiv hauv Haskell wiki txog monads.

    Kauj Ruam 3. Muab tus nqi

    Cov

    IO ()

    Monad yog siv rau Kev Tawm Tswv Yim/Tawm Tawm. Yog li tam sim no koj muaj koj qhov sib txawv

    lub ntsiab

    koj tsuas yog yuav tsum tau muab nws qee tus nqi.

    main:: IO () main = putStrLn "Nyob zoo, ntiaj teb!"

    1. putStrLn

      yog lub luag haujlwm uas nws yog

      Txoj hlua -> IO ()

    2. .
    3. Qhov ntawd yuav zoo li tsis meej pem thaum xub thawj, tab sis nws yooj yim dua. Xav txog

      ->

      raws li daim duab qhia chaw ntawm ib hom mus rau lwm qhov. Ntawd yog, cov

      putStrLn

    4. ua haujlwm qhia cov hlua rau Monad.
    5. Qhov tseem ceeb, txoj haujlwm

      putStrLn

      siv tus nqi ntawm hom

      Txoj hlua

      thiab rov qab tus nqi ntawm hom

      IO ()

    6. .
    7. Qhov no yog vim li cas cov ntawv txheeb xyuas thaum koj ua haujlwm

      lub ntsiab

      rau tus nqi ntawm

      putStrLn "Nyob zoo, ntiaj teb!"

      Cov lus piav qhia 2020 06 28 233337
      Cov lus piav qhia 2020 06 28 233337

      Kauj Ruam 4. Sau qhov program

      Nrog koj zoo siab, koj tsuas yog sau koj thawj qhov kev pab cuam haskell. Txhua yam koj yuav tsum ua tam sim no yog sau nws. Qhib Windows Terminal thiab mus rau lub nplaub tshev uas koj tau khaws koj li

      nyob zoo.hs

      ntaub ntawv. Koj tuaj yeem siv cov ntawv qhia zaub mov xaiv "Qhib Ntawm No" yog tias koj xaiv qhov kev xaiv ntawd thaum teeb tsa Powershell 7. Thaum muaj, koj tuaj yeem pib txheej txheem sau ua ke siv cov lus txib hauv qab no:

      ghc nyob zoo.hs -o nyob zoo

      1. Kev suav sau siv qhov chaws

        nyob zoo.hs

      2. raws li cov tswv yim
      3. siv cov

        -o

        chij koj tuaj yeem hla lub npe ntawm yam koj xav kom cov ua haujlwm tau ua. Hauv qhov no nws yog

        nyob zoo

      4. Txhawm rau khiav qhov program tom qab khiav

        . / nyob zoo.exe

      5. ceeb toom: Nws yog ib qho tseem ceeb kom muaj

        .\

        nyob rau hauv

        nyob zoo.exe

Pom zoo: