Regarding "3.1415", I was simply passive-aggressively pointing out that if you're referencing pi, you should probably round up to "3.1416". The example itself made sense!
I also discovered a scope problem with the recursion example you gave. Turns out, there is (of course) a major bug in there, thanks for discovering that. It's about the visibility of the "factorial" symbol itself, so the workaround is for now:
factorial = { n |
factorial = outer.factorial;
if(n == 0) {
1
} {
n * (factorial (n - 1))
}
};
println (factorial 5);
At least, until I restart the service (which I don't want to do while everyone is potentially using the tutorial).