[過去ログ] 関数型プログラミング言語Haskell Part32 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
186
(1): デフォルトの名無しさん [] 2019/02/23(土) 17:37:12.35 ID:5fn4St+r(1/3) AAS
またHaskellのせいにしてるの?
以下は同等のJavaScriptだけど。
let foo = n => x => x * n;
let foo10 = foo(10);
foo10(10);
//=> 100
foo10(20);
//=> 200
let foo100 = foo(100);
foo100(10);
//=> 1000
foo100(20);
//=> 2000
let foo5 = foo(5);
foo5(10);
//=> 50
foo5(20);
//=> 100

てか何の言語なら知ってるんだっけ?
188
(1): デフォルトの名無しさん [] 2019/02/23(土) 17:59:11.82 ID:5fn4St+r(2/3) AAS
Cは実行時関数生成能力ないから仕方ないけど…

let foo10 = foo 10
は関数を返す関数fooに10を渡して、
関数(¥x -> x * 10)を得て(これが、ここが「生成」)
それにfoo10って名前を付けてるって理解は無理?
あなたこれまでに¥x -> x * 10って関数定義した覚えある?書いた覚えがあるのは¥x -> x * nでしょ?
まあ次行け次。
192
(1): デフォルトの名無しさん [] 2019/02/23(土) 18:18:49.99 ID:5fn4St+r(3/3) AAS
>>189
> foo10は結局のところ ¥x->x*n を呼び出してるだけじゃないの?

Prelude> foo10 10
100
とかのこと言ってるんなら
let foo10 = foo 10
で生成した関数(¥x -> x * 10)を呼び出してるつまり
(¥x -> x * 10) 10
100

> ¥x->x*10って関数を生成してないよね?

してるよ
let foo10 = foo 10 の foo 10の部分で。
(生成のタイミングは今回置いとくとして)
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.043s