I recently had a go at Uncle Bob's latest challenge. Part of the problem was, given s and n, find the smallest factor that divided n that was greater than or equal to s. In C#, you could express this as follows: Enumerable.Range(s, n)
.TakeWhile(x => x <= Math.Sqrt(n))
.Where(x => n % x == 0)
.FirstOrDefault();
I think of this as results from the Range method being "piped" through the other methods. I use similar programming techniques in Powershell, where I actually use a pipe symbol. Now, it's worth bearing...