如果我知道结果是整数怎么办,但ghc不太确定?

时间:2016-07-26 15:47:05

标签: haskell

我们说我有这段代码:

<?xml version="1.0" encoding="utf-8"?>

<ImageView
    android:id="@+id/imageView"
    android:src="@drawable/interst"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    xmlns:android="http://schemas.android.com/apk/res/android" />

显然,结果是整数,因为x或其后继是偶数 可以理解的是,编译器只查看demo::Integer -> Integer demo x = x*(x+1)/2 main = do print $ demo 8 并说

/

但据我所知,[1 of 1] Compiling Main ( debug.hs, debug.o ) debug.hs:2:17: No instance for (Fractional Integer) arising from a use of `/' Possible fix: add an instance declaration for (Fractional Integer) In the expression: x * (x + 1) / 2 In an equation for `demo': demo x = x * (x + 1) / 2 不属于Integer。 如何保留签名Fractional

1 个答案:

答案 0 :(得分:5)

您不能将/功能与Integer一起使用。如果您想要经典的整数除法,请使用div