On Aug 29, 2013, at 2:16 PM, Love U Ruby <[email protected]> wrote:
> Please help me to understand what does mean by "If used with no
> arguments, subsequently defined methods become module functions."?

That means you can use it as a means of saying "All the methods defined below 
are module functions":


Module M

  def foo
  end

  module_function

  def bar
  end

  def baz
  end

end

and so you can then call M.bar and M.baz, but not M.foo.

This is identical to:

Module M
  def foo;end
  def bar;end
  def baz;end
  module_function :bar, :baz
end

It is *also* identical to:

Module M
  def foo;end
  def self.bar; end
  def self.baz; end
end


-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/rubyonrails-talk/58BD364C-563B-439E-AA7B-D4068A1B521C%40gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to