Yesterday I gave a solution to the problem of creating a chainable function by implementing a class with a method that returned the instance.
Today I implemented the solution using a function that returns itself, more in line with the intent of Croll’s exercise.
Working in Python, I defined a prototype function called sayIt that was not chainable, and then defined a class that used a similar method to make it chainable.
I decided to change my prototype so that it would invoke itself in its return statement, as suggested by the solutions Croll provides.
Here are the implementations, both as a function with global and as a class: