Ruby Basic - 8

woolim park·2021년 3월 16일
0

Ruby Basic

목록 보기
8/9
post-thumbnail

Module

namespacing

module MakeSparks
	class Date
    	#...
    end
end

dinner = MakeSparks::Date.new
dinner.date = Date.new;

mixins

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

class inheritance vs mixins

  1. class inheritance

다른 클래스의 기능을 확장해야할 때 상속을 사용

  1. mixins

여러 클래스로부터 기능을 받아와야 할 때 mixin 을 사용

load, require, include

  1. load

파일을 로드하고, 성공하면 리턴 true

  1. require, require_relative

load 와 같지만 파일이 1번 로드되었는지 확인하기때문에 load보다 더 자주 쓰인다.

load, require 둘다 $LOAD_PATH 에 저장된 경로들을 뒤져서 파일을 찾는다.

# irb
> $LOAD_PATH
  1. include

module 을 클래스 안에 삽입할 때 사용한다.

profile
Javascript Developer

0개의 댓글