str = "cat"
meth = str.method(:length)
a = meth.call               #  3  (length of "cat")
str << "erpillar"
b = meth.call               # 11  (length of "caterpillar")
str = "dog"

# Note the next call! The variable str refers to a new object
# ("dog") now, but meth is still bound to the old object.
c = meth.call               # 11  (length of "caterpillar")

