[英]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.