簡體   English   中英

語法$$在Haskell中的含義是什么?

[英]Syntax What does $$ mean in Haskell?

“呃,”你可能會想......“另一個語法問題,在這里讓我谷歌那個為你noob。” 可惜! 我用Google搜索了,我仍然難過!

在yesod博客的代碼中找到

import System.IO
import Data.Enumerator
import Data.Enumerator.Binary

main =
    withFile "output.txt" WriteMode $ \output ->
    run_ $ enumFile "input.txt" $$ iterHandle output 

然而,“$$”運算符對我來說是新的。 Haskell 2010報告僅提及它一次作為運營商符號。 它有什么作用?

在Haskell中,像$$這樣的運算符不是語法的一部分,它們是用戶可定義的函數。 因此,您需要查找Yesod的API文檔以查看$$是什么。 特別是, 此處記錄示例中的函數$$

Hoogle ,這是非常好的,但遺憾的是不知道很多包。

Hayoo知道得更多,但它的界面看起來很古怪,而且它似乎沒有像hoogle那樣提供命令行工具。

如果你知道你正在處理什么包,你可以直接轉到它的文檔 - 例如枚舉器文檔,底部是模塊列表。 此外,這些文檔始終具有索引 ,並允許您通過鏈接查看源代碼。

作為最后的手段,使用cabal unpack enumerator和grep代碼。

只需使用hoogle,並確保告訴它你正在使用什么包 - 它工作正常。

http://haskell.org/hoogle/?hoogle=%28%24%24%29+%2Benumerator

暫無
暫無

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

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