亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何創建多變量haskell函數?

如何創建多變量haskell函數?

Qyouu 2019-12-13 09:58:17
我需要一個函數,該函數接受任意數量的參數(相同類型的所有參數),對它們執行某些操作,然后返回結果。在我的具體情況下,參數列表是不可行的。在瀏覽haskell庫時,我看到該函數printf(來自module Text.Printf)使用了類似的技巧。不幸的是,通過查看源代碼我無法理解這種魔力。有人可以解釋如何實現這一目標,或者至少可以解釋一些網頁/論文/無論我能在哪里找到合適的描述嗎?動機:我需要這個的原因確實很簡單。對于學校(計算機科學課),我們需要編寫一個模塊,該模塊能夠“記錄”數學表達式,將其表示為字符串(通過為自己的數據類型編寫Num / Real / etc實例),然后執行各種操作就可以了。此數據類型包含變量的特殊構造函數,可以用值或指定函數替換任何值。目標之一是編寫一個函數,該函數采用帶有一些變量(成對的type (Char,Rational))的表達式,并計算表達式的結果。我們應該看看如何最好地表達功能的目標。(我的想法:該函數返回另一個函數,該函數接受與該函數中定義的var一樣多的參數-似乎是不可能的)。
查看完整描述

3 回答

?
料青山看我應如是

TA貢獻1772條經驗 獲得超8個贊

下面是一個執行過程的示例,sumOf 1 4 7 10 :: Integer可以提供更好的說明。


sumOf 1 4 7 10

(( \ x -> ( sumOf . (x +) . toInteger ) 1 ) 4 7 10

((sumOf . (1 + ) . toInteger) 4 ) 7 10

( sumOf 5 ) 7 10

( sumOf . (5 + ) . toInteger ) 7 10

sumOf 12 10

sumOf . (12 + ) . toInteger 10

sumof 22

id 22

22


查看完整回答
反對 回復 2019-12-13
  • 3 回答
  • 0 關注
  • 698 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號