如果我使用的是F#解释,我可以这样定义一个简单的函数:
> // Function to check if x is an integer multiple of y
> let multipleOf x y = (x % y = 0);;
val multipleOf : x:int -> y:int -> bool
如果我知道在F#解释器会话的功能存在,但我不能确定其精确的类型,我可以要求解释只需键入该函数的名称给我公司类型:
> // I can't remember the type of the function multipleOf!
> multipleOf;;
val it : (int -> int -> bool) = <fun:it@12-1>
显然,这告诉我,功能multipleOf
的类型为int->int->bool
。 我觉得这是令人难以置信的是在F#解释工作时慢跑我的记忆的工具是有用的。
不过,我似乎无法找到Scala的REPL类似的功能。 我可以定义在Scala中的等价功能容易够当然:
def multipleOf(x: Int, y: Int) = x % y == 0
但是,如果我对我十分钟我斯卡拉REPL会话,不记得函数的类型,输入multipleOf
没有给出关于类型的信息(事实上,它给出了一个错误)。 同样, :type multipleOf
告诉我没有什么用处。