相关疑难解决方法(0)

haskell中String和Data.Text之间的自动转换

正如Nikita Volkov在他的问题中提到的Data.Text vs String我也想知道为什么我必须处理不同的String实现type String = [Char]Data.Texthaskell.在我的代码中,我经常使用packunpack函数.

我的问题:有没有办法在两种字符串类型之间进行自动转换,这样我就可以避免写入pack而且unpack经常这样?

在其他编程语言(如Python或JavaScript)中,例如,如果需要,可以在整数和浮点数之间进行自动转换.我可以在haskell中达到类似的效果吗?我知道,提到的语言是弱类型的,但我听说C++有类似的功能.

注意:我已经知道语言扩展{-# LANGUAGE OverloadedStrings #-}.但据我所知,这种语言扩展只适用于定义为的字符串"...".我希望自动转换字符串,这是我从其他函数获得的,或者我在函数定义中作为参数.

扩展问题: Haskell.Text或Bytestring也涵盖了Data.Text和之间的区别Data.ByteString.有没有办法在三个字符串之间进行自动转换String,Data.Text并且Data.ByteString

string haskell type-conversion

29
推荐指数
2
解决办法
8826
查看次数

在Haskell中将Data.Text转换为Int

另一个问题中,其中一条评论说," [Data.]Text正在成为事实上的文本实现.String由于遗留原因和简单的事情仍然存在,但对于你应该使用的严肃的文本操作Text."

将a转换为a的最简单方法Data.TextInt什么?read将无法正常工作,因为该read功能总是需要一个String.

我能想到的最好的是:

let fortyTwo = Data.Text.pack "42"
read $ Data.Text.unpack fortyTwo :: Int
Run Code Online (Sandbox Code Playgroud)

有没有更好的办法?

string haskell type-conversion

23
推荐指数
2
解决办法
7518
查看次数

标签 统计

haskell ×2

string ×2

type-conversion ×2