haskell - 在 Haskell 中将字符串转换为文本

标签 haskell d3.js io

使用 Haskell d3.js 库,我正在尝试将条形图制作成条形图。

 import Control.Monad
 import qualified Data.Text as T
 import D3JS

 test :: Int -> IO ()
 test n = T.writeFile "generated.js" $ reify (box "#div1" (300,300) >>= bars n 300 (Data1D [100,20,80,60,120]))

即使有了这个简单的例子,我也有很多问题。
  • import qualified 似乎需要命名空间。然后代替 Data.Text.writeFile我们可以写 T.writeFile
  • Data.Text.writeFile未出现在 hackage 中的条目 Data.Text但我确实发现它与 prelude 有关.

  • 这是一个简单的示例 T.writeFile错误:
    > import qualified Data.Text.IO as T
    > T.writeFile "helloWorld.txt" "Hello World!"
    
    Couldn't match expected type ‘Text’ with actual type ‘String’
    

    希望所有这些类型转换都可以解决。然后我有一个关于如何reify的大问题作品。现在......我如何在这里将字符串更改为文本?

    最佳答案

    使用 Data.Text.pack转换 String进入 Text :

    pack :: String -> Text
    

    另外,writeFile 的文本版本出现在 Data.Text.IO ,例如:
    import qualified Data.Text.IO as T
    
    T.writeFile "helloWorld.txt" (T.pack "Hello World!")
    

    可以同时导入 Data.TextData.Text.IOT .

    关于haskell - 在 Haskell 中将字符串转换为文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37242796/

    相关文章:

    haskell - 我们如何知道一个类型类是否是另一个类型类的子类型类?

    haskell - 生成依赖于外部库的 cabal 文件

    javascript - 选择哪种格式在 D3.js 中动态存储和显示数据?

    python - 在 Python 中编辑文本文件中的特定行

    Java 临时文件和自动删除

    haskell - 为什么如果我添加空格,这个 Haskell 代码就会变得无效?

    haskell - 谁能解释一下这个 haskell 难题?

    javascript - 从要在 D3 中使用的 JSON 文件访问 ids

    javascript - 如何根据用户输入更新 D3 SVG 图表

    c - 将空文件重定向为 C 中的输入