Jensen's Device: Difference between revisions

Content added Content deleted
(added perl)
Line 206: Line 206:


print sum(\$i, 1, 100, sub { 1 / $i }), "\n";</perl>
print sum(\$i, 1, 100, sub { 1 / $i }), "\n";</perl>
Output: 5.18737751763962

Or you can take advantage of the fact that elements of the @_ are aliases of the original:
<perl>my $i;
sub sum {
my (undef, $lo, $hi, $term) = @_;
my $temp = 0;
for ($_[0] = $lo; $_[0] <= $hi; $_[0]++) {
$temp += $term->();
}
return $temp;
}

print sum($i, 1, 100, sub { 1 / $i }), "\n";</perl>
Output: 5.18737751763962
Output: 5.18737751763962