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);
}
|