作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近我用 Haskell 编写了很多脚本。这是一次非常愉快的体验,因为它是我接触过的最简洁的语言之一。
有一点让我很困扰,那就是我必须为我编写的每个脚本输入相同的 import
,而且我几乎每次都会使用一组模块,例如
import Control.Monad as MO
import Data.ByteString.Lazy as BS
import Data.Char as CH
import Data.Csv as C
import Data.Csv.Streaming as CS
import Data.Foldable as FOLD
import Data.Functor as F
import Data.List as L
import Data.List.Split as LS
import Data.Text.Lazy as T
import Data.Text.Lazy.IO as TI
import Data.Vector as V
import Debug.Trace as TR
import Prelude as P
我的意思是我可以每次都复制并粘贴它们,但是有没有办法让这些繁琐的导入变得隐式?就像 Prelude
是如何隐式导入的一样?
最佳答案
出于某些目的,一种选择是编写一个或多个“厨房水槽”模块供您自己使用,然后每次都导入该模块。不幸的是,这对于命名或限定导入似乎没有多大作用。另一种选择是使用 {-# LANGUAGE CPP #-}
来 #include
一些库存 header 部分。
但是,我不会特别推荐这些选项。只需保留一个包含您最喜欢的 GHC 扩展和模块导入的“库存模板”,并教您的文本编辑器使用它。不要忘记删掉您实际上不需要的东西。
关于haskell - 如何隐式导入常用模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32900190/
我是一名优秀的程序员,十分优秀!