From: Christopher Dicely Date: 2011-04-18T14:37:46+09:00 Subject: Re: Telnet "More?" On Sun, Apr 17, 2011 at 5:48 PM, Eric T. wrote: > > It still strikes me odd that Kernel#print is not static (does it modify > Kernel state?), or if it *is* static that you can't just pass it as-is > to anything that requires a callable. Methods (like blocks) aren't objects, though (like blocks) they can be reified as objects, consequently methods, as such, can't be passed to other methods. (One side effect -- or possibly motivating reason -- for this is that Ruby methods can be called without parens, including no-arg methods. If methods were objects accessible by the method name, reference to the method as an object would be -- assuming the most obvious syntax -- ambiguous with a method call without parens.) And Ruby doesn't have static methods the way Java does. While Ruby does have class/module methods, they are just instance methods on an object (because in Ruby, classes and modules are objects.)