- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
像 2^(2%1)
这样的表达式在 GHCi 中不会进行类型检查,并且错误消息是神秘的。为什么这不起作用,我需要改变什么?
我无法转换为其他类型,我希望将其用于 27^(1%3)
等表达式。
最佳答案
Haskell 有三个幂运算符:
(^)::(数值 a, 积分 b) => a -> b -> a
这会使用正积分指数得出任何类型的数字。
在输入 2^(2%3)
时,您会收到类似 Could not deduced (Integral (Ratio a0)) 的错误,因为使用了“^”
因为 Data.Ratio
不是 Integral
的实例。 GHC 发现 ^
想要一个 Integral
并注意到 Data.Ratio
在这种情况下不能使用。
(^^)::(分数 a,积分 b)=> a -> b -> a
此运算符允许使用负积分指数。请记住x^(-n) == 1/(x^n)
。这就是为什么它需要Fractional
。
请注意,指数仍必须是整数。 2^^(1%2)
不是小数
数字。
(**):: float a => a -> a -> a
这是“catch all”运算符。它可以将小数求小数次幂。然而,这使用 float ,而不是精确的有理数。
由于我们无法表示所有实数,因此当您需要不精确的运算时,他们决定简单地依赖 float 。
因此您应该使用类型转换来执行该操作。 一个可能的实现可能是:
realToFrac $ 27**(realToFrac $ 2%3) :: Rational
或者您可以定义一个新的运算符:
(*^*) :: (RealFrac a, RealFrac b) => a -> b -> a
x *^* y = realToFrac $ realToFrac x ** realToFrac y
这将允许你写:
27 *^* (2%3)
我使用了两个*
来提醒实现中使用的**
,并且我添加了一个^
引用前两个运算符的类型...不确定这是否有意义,或者 ^**
或 ^^*
会更好。
但是,简单地使用 Double
可能会更好。这实际上取决于数字代表什么以及您用它们做什么。
关于haskell - 将数字提高到分数(Data.Ratio)幂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32175510/
在我的家庭作业中,我得到了框架代码,并被告知要填写这些类,以便它们在分数加、减、乘、除时能够正常工作。我需要帮助了解 Ratio r 到底是如何工作的?我的老师告诉我“它携带的值可以用“这个”携带的分
从数学、算法和元编程递归的角度来看,我有一个具有挑战性的问题。考虑以下声明: template using ratio_power = /* to be defined */; 基于 std::rat
我一直在我的 OpenCV 和 OpenGL 组件之间来回切换,我不确定这两者中的哪一个应该更正这个问题。 使用 OpenCV 相机校准产生 fx、fy,纵横比大约为 1,这对应于正方形大小的图像。我
我使用网格和Flexbox布局了以下元素:。我希望在2x2的网格中布局.int元素,而.square元素的纵横比保持为1。。到目前为止,我有以下几个css:。如果视区的宽度大于高度(例如,横向),则可
I have the following elements laid out using both Grid and Flexbox:我使用网格和Flexbox布局了以下元素: <div
WebKit 引入了 -webkit-device-pixel-ratio 媒体功能和 window.devicePixelRatio JavaScript 属性,以允许网络作者检测他们的页面是否正在
需要能够为不同的设备像素比值指定不同的 css。如何做到这一点 例如, 0 @media (-webkit-max-device-pixel-ratio:1.0) { > .
当使用 CSS 媒体查询设备像素密度时,我都看到了 -moz-min-device-pixel-ratio和 min--moz-device-pixel-ratio . 例如: @media on
参数如何为它工作以及 mProjMatrix 从该方法中得到什么? 另外,为什么“float mProjMatrix = new float[16];”用 16 声明,我可以用另一个数字代替吗?
我发现 Instagram 有一个像 300*300 这样的摄像头窗口?它是一个正方形,然后我尝试使用 GPUImage 制作相同的摄像头尺寸。所以我这样写: primaryView = [GPUIm
如何使用 MatLab 计算信噪比? 更新 我只有一个文件,而不是示例中的两个,它是一个 .tif。 最佳答案 Matlab SNR 的第一个 Google 结果.从那里复制,以 dB 为单位: sn
我是 python 的新手,正在努力加速这段代码。 我在 zz1 中有大约 100 万个字符串,在 a3 中有 250,000 个字符串。 zz1 中的字符串有错误,我想将其匹配到 a3 中具有最高模
也许是一个矛盾的问题:ratio根据定义,是一个编译时常量。 但是,我想构建具有不同比率的持续时间,这些比率可以由我的方法的调用者指定。我想我应该使用比率和/或持续时间以外的东西,但是什么? 比方说,
我对编程比较陌生。我需要根据给定的尺寸计算纵横比(16:9 或 4:3),比如 axb。我如何使用 C# 实现此目的。任何帮助将不胜感激。 public string AspectRatio(int
我在看类(class) std::ratio<> 来自允许进行编译时有理算术的 C++11 标准。 我发现模板设计和用类实现的操作过于复杂,并且找不到任何理由说明他们不能通过实现一个非常简单的有理类并
像 2^(2%1) 这样的表达式在 GHCi 中不会进行类型检查,并且错误消息是神秘的。为什么这不起作用,我需要改变什么? 我无法转换为其他类型,我希望将其用于 27^(1%3) 等表达式。 最佳答案
这是我一段时间以来一直困惑的事情,我不知道如何才能了解更多信息。假设我有以下程序: main :: IO () main = do x a -> a -> Ratio a {-# SPECI
我正在尝试寻找一种优雅的方式来编写可能称为 MergeWithRatio 或 ZipWithRatio 的扩展方法。 我希望它有这个签名.. public static IEnumerable Mer
我正在处理一个有趣的查询。有一个如下所示的表,并希望根据其登录状态以 3:2 的比例选择 30 行。例如:在 30 个用户中,活跃用户 - 应该是 18 个,非活跃用户 - 应该是 12 个。因此,每
我有 100 张大尺寸的图片 (500*700 , 401*800 , 2345* 3567) ,所以我希望所有这些图片的高度都为 220。下面我正在计算图片的纵横比。我想设置所有大尺寸图像的固定高度
我是一名优秀的程序员,十分优秀!