当我使用 JS 时,我有两个选项来处理一个函数。
var a = function() {};
var b = a; // b is the function a itself.
var c = a(); // c is result of the evaluation of function a.
AFAIK,Haskell 默认是懒惰的,所以我总是b
默认得到。但是如果我想得到c
,我该怎么办?
更新
我想我应该明确地说一句话。
我正在做这样的事情ghci
。
let a = getLine
a
我想让一个结果getLine
into a
。
更新2
我记下这段代码,以供像我这样的人以后参考。在@Ankur 的帮助下,我可以更正对 Haskell 的翻译。上面的代码示例不是一个好的示例,因为函数a
不返回任何内容。如果我这样改变它;
var a = function(x,y) { return x * y; };
var b = a; // b is the function a itself.
var c = a(); // c is result of the evaluation of function a.
翻译成Haskell会变成这样。
let a = \ x y -> x* y // Anonymous lambda function.
let b = a
let c = a 100 200