From: Brian Candler Date: 2011-04-20T17:45:52+09:00 Subject: Re: assert_name doesn't exist as a function? Mike RegistrationErr wrote in post #993884: > I added this line: > require 'test/unit/assertions' > > Which is different from: > include Test::Unit::Assertions > > In PHP require and include are the same hence the confusion having come > from PHP. I don't understand the difference between require and include > in ruby yet, but at least my problem is sorted :) "require" means "go and load this ruby source file, if you've not loaded it before" "include" means (roughly) "add the methods in that module into the current class" "extend" means (roughly) "add the methods in that module into the current object" module Foo def bar puts "I am bar!" end end bar # doesn't work include Foo bar # now it works a = "Hello" a.extend Foo a.bar # this works too -- Posted via http://www.ruby-forum.com/.