PHP 與 CPS


得出來的結果是一樣的.不過這東西太複雜.轉換的小記錄

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
function sum($arr, $len) {
if ($len <= 0) {
return 0;
}else{
return $arr[0] + sum(array_slice($arr, 1), $len - 1);
}
}
echo sum(array(1, 2, 3, 4), 4),"\n";

function sum_cps($sum, $arr, $len, $callback) {
if ($len <= 0) {
$callback($sum);
}else{
sum_cps($sum + $arr[0], array_slice($arr, 1), $len - 1, $callback);
}
}
sum_cps(0, array(1, 2, 3, 4), 4, function($value) { echo $value,"\n"; });
?>