module MakeSparks
class Date
#...
end
end
dinner = MakeSparks::Date.new
dinner.date = Date.new;
module Nameable
attr_accessor :first_name, :last_name
def full_name
"#{first_name} ${last_name}"
end
end
module ContactInfo
attr_accessor :city, :state, :zip
def city_state_zip
"#{city}, #{state} #{zip}"
end
end
class Person
include Nameable
include ContactInfo
end
class Customer
include Nameable
include ContactInfo
end
다른 클래스의 기능을 확장해야할 때 상속을 사용
여러 클래스로부터 기능을 받아와야 할 때 mixin 을 사용
파일을 로드하고, 성공하면 리턴 true
load 와 같지만 파일이 1번 로드되었는지 확인하기때문에 load보다 더 자주 쓰인다.
load, require 둘다 $LOAD_PATH 에 저장된 경로들을 뒤져서 파일을 찾는다.
# irb
> $LOAD_PATH
module 을 클래스 안에 삽입할 때 사용한다.