JS を使用する場合、関数を処理するためのオプションが 2 つあります。
var a = function() {};
var b = a; // b is the function a itself.
var c = a(); // c is result of the evaluation of function a.
私の知る限り、Haskellはデフォルトで怠惰なので、常にデフォルトで取得b
します。しかし、取得したい場合、どうすればc
よいですか?
アップデート
はっきりと言葉を入れるべきだと思います。
でこんなことをしていましたghci
。
let a = getLine
a
getLine
の結果を に入れたかったのa
です。
Update2
私のような人々が後で参照できるように、このコードをメモします。@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