fromRational我知道和fromInteger的存在fromIntegral。
但是是否有更通用的函数可以将 any 转换Num为该Double类型?
我还知道这Num是一组类型,并且可能存在使用方式的限制。
但这可能吗?
就像是:
fromNum::(Num a) => a -> Double
Run Code Online (Sandbox Code Playgroud)
最好不要安装任何额外的软件包。
绝对没有办法做到这一点,而且有一个很好的理由。Num是一种通用类型,旨在用于任何模糊的“可加”和“可乘”。您可以非常宽松地将其视为一个环[1]。这意味着向量、点和矩阵之类的东西都是Num。并且没有合理、规范的方法将 a 转换Matrix a为 a Double。
您已经注意到,有多种方法可以Double从更具体的类型类(例如Integral.
[1]是的,fromInteger也在 上Num。这在很大程度上被认为是一个错误特性,使用矩阵进行操作的库通常只提供一个尴尬的默认实现。
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |