Listen

Description

第5章へようこそ。

今日のテーマは「クロージャ」です。

第4章のイテレータで、mapやfilterに小さな関数を渡しました。

あの小さな関数の正体がクロージャです。

クロージャと普通の関数の違いは1つです。

クロージャは、自分が定義された場所の周囲にある変数を捕まえて、自分の中で使える。

関数にはこれができない。

この「周囲の変数を捕まえる」という一点が、クロージャの性質のすべてを決めます。

捕獲は所有権の仕組みと直接噛み合うため、Rustのクロージャは型の表現が細かく分かれている。

今日はその内部構造まで踏み込みます。