haskell interactive中的函数定义

时间:2015-09-15 14:01:49

标签: haskell types

public int getTheNumberAfterDecimalPoint(double number)
{
    string numberInString = Convert.ToString(number);
    if(numberInString.Contains('.'))
    {
        return Convert.ToInt32(numberInString.Substring('.')[1]);
    }
    return Convert.ToInt32(number);
}

以下情况很好:

factorial :: Integer -> Integer
factorial n = product [1..n]

我没有看到如何在交互式shell中添加类型声明。

2 个答案:

答案 0 :(得分:5)

如果您想自己指定类型签名,可以使用分号在ghci中执行此操作,即:

let factorial :: Integer -> Integer; factorial n = product [1..n]

答案 1 :(得分:5)

在解释为here的多行设置旁边,如果您不想写分号,可以使用此设置。

λ> :{
λ> | let factorial :: Integer -> Integer
λ> |     factorial n = product [1..n]
λ> :}
λ> :t factorial
factorial :: Integer -> Integer