在测试时,我想从磁盘读取和写入文件(JSON in,JSON out)。我如何在PureScript中执行此操作?在Haskell中我有类似
的东西main :: IO ()
main = do
input <- readFile "input.json"
writeFile "output.json" $ process input
到目前为止我的所有尝试都失败了,包括尝试使用readFile
中的import Node.FS.Sync
。
顺便说一下,如果我的JSON文件中还有其他(更好)的阅读方式,请告诉我。 (我不是JavaScript专家,但我想将一些 - 严格 - Haskell代码移植到JS,以便它可以在其他地方使用。)
答案 0 :(得分:6)
或者使用purescript 0.12
module Main where
import Prelude
import Effect (Effect)
import Effect.Console (log)
import Node.Encoding (Encoding(..))
import Node.FS.Sync (readTextFile)
main :: Effect Unit
main = do
log =<< readTextFile UTF8 "input.json"
答案 1 :(得分:3)
这是一个完整的工作示例,可以读取和打印文件。
module Main where
import Prelude (Unit)
import Control.Bind ((=<<))
import Control.Monad.Eff (Eff)
import Control.Monad.Eff.Console (CONSOLE, log)
import Control.Monad.Eff.Exception (EXCEPTION)
import Node.Encoding (Encoding(..))
import Node.FS (FS)
import Node.FS.Sync (readTextFile)
main :: forall e. Eff (console :: CONSOLE, exception :: EXCEPTION, fs :: FS | e) Unit
main = do
log =<< readTextFile UTF8 "input.json"
依赖关系: