簡體   English   中英

為什么在Haskell中編寫函數時需要使用方括號?

[英]Why do we need to use brackets while composing functions in haskell?

假設我需要定義以下函數:

身份=密碼

但是上面的行不起作用,正確的方法是:

身份=(chr.ord)

Haskell通常是一種極簡主義的語言,因此對我來說,使用多余的括號似乎並不自然。

是否有人知道需要引入方括號。 我不記得我們在haskell的其他地方使用點運算符了(除了小數點以外)。

Nate / Daniel發表評論后進行編輯

你們兩個都是對的。 我的實際方法是:

nextLetter a 
         | a /= 'z' = chr.ord a
         | a == 'z' = 'a'

現在我明白了,在這種情況下,它將評估ord a,然后嘗試評估chr.97,因此出現錯誤!

謝謝。

你誤會了 當我寫

import Data.Char
identity = chr.ord

test.hs並將其加載到ghci ,沒有任何問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM