第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何跨多行在ghci中定義函數(shù)?

如何跨多行在ghci中定義函數(shù)?

慕村9548890 2019-12-10 13:08:41
我正在嘗試定義任何簡(jiǎn)單的函數(shù)來跨越ghci中的多行,請(qǐng)以以下示例為例:let abs n | n >= 0 = n          | otherwise = -n到目前為止,我已經(jīng)嘗試在第一行之后按Enter鍵:Prelude> let abs n | n >= 0 = nPrelude>           | otherwise = -n<interactive>:1:0: parse error on input `|'我也嘗試過使用:{and :}命令,但距離并不遠(yuǎn):Prelude> :{unknown command ':{'use :? for help.我在Linux上使用適用于Haskell 98的GHC Interactive 6.6版,我缺少什么?
查看完整描述

3 回答

?
九州編程

TA貢獻(xiàn)1785條經(jīng)驗(yàn) 獲得超4個(gè)贊

對(duì)于后衛(wèi)(如您的示例),您可以將它們?nèi)糠旁谝恍猩?,這樣就可以工作(后衛(wèi)不在乎間距)


let abs n | n >= 0 = n | otherwise = -n

如果您想使用多個(gè)與參數(shù)匹配的定義來編寫函數(shù),例如:


fact 0 = 1

fact n = n * fact (n-1)

那么您將用大括號(hào)和分號(hào)分隔定義


let { fact 0 = 1 ; fact n = n * fact (n-1) }



查看完整回答
反對(duì) 回復(fù) 2019-12-11
?
有只小跳蛙

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊

GHCi現(xiàn)在具有多行輸入模式,已通過:set + m啟用。例如,


Prelude> :set +m

Prelude> let fac 0 = 1

Prelude|     fac n = n * fac (n-1)

Prelude|

Prelude> fac 10

3628800



查看完整回答
反對(duì) 回復(fù) 2019-12-11
?
料青山看我應(yīng)如是

TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超8個(gè)贊

丹是正確的,但:{并:}必須在每個(gè)出現(xiàn)在自己的行:


> :{ 

> let foo a b = a +

>           b

> :}

> :t foo

foo :: (Num a) => a -> a -> a

這也與布局規(guī)則交互,因此在使用do表示法時(shí),顯式使用花括號(hào)和分號(hào)可能會(huì)更容易。例如,此定義失?。?/p>


> :{

| let prRev = do

|   inp <- getLine

|   putStrLn $ reverse inp

| :}

<interactive>:1:18:

    The last statement in a 'do' construct must be an expression

但是在添加括號(hào)和分號(hào)時(shí)可以使用:


> :{

| let prRev = do {

|   inp <- getLine;

|   putStrLn $ reverse inp;

| }

| :}

> :t prRev

prRev :: IO ()

僅當(dāng)從文件中粘貼定義(縮進(jìn)可能會(huì)更改)時(shí),這才真正重要。



查看完整回答
反對(duì) 回復(fù) 2019-12-11
  • 3 回答
  • 0 關(guān)注
  • 456 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)