Movatterモバイル変換


[0]ホーム

URL:


CtrlK
このページ内

役に立ちましたか?

Stateful Functions

他のプログラミング言語の共通の特徴は、staticキーワードの使って関数内の変数の生存時間(スコープではない)を増加させ、関数の呼び出しをまたがって生かすことです。これを実現するCサンプルがあります:

voidcalled() {static count=0;    count++;printf("Called :%d", count);}intmain () {called(); // Called : 1called(); // Called : 2return0;}

JavaScript(またはTypeScript)には関数の静的変数がないため、ローカル変数をラップする、さまざまな抽象化を使用して同じことを達成できます。classを使った例:

const {called}=newclass {    count=0;called= ()=> {this.count++;console.log(`Called :${this.count}`);    }};called();// Called : 1called();// Called : 2

C++デベロッパーはまた、functor(演算子()をオーバーライドするクラス)というパターンを使ってこれを達成しています。

最終更新

役に立ちましたか?


[8]ページ先頭

©2009-2025 Movatter.jp