pure 関数

pure 関数は, 関数の戻り値が関数に与えられた引数だけに依存している関数, すなわち副作用がない関数である.

pure.d

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
int n = 5;

pure int f(int i){
  int x = g(i);
  // int y = h(i); // h() は pure ではない
  // int z = g(n); // 引数以外の変数にはアクセスできない
  return x;
}

pure int g(int i){
  return i+1;
}

int h(int i){
  return i - 1;
}

void main(){
  assert( f(2) == 3);
}

Previous topic

関数リテラルとデリゲートリテラル

Next topic

テンプレート・ミックスイン