티스토리 뷰

Back-end/Ruby on Rails

[루비] 모듈(작성중)

jhkang-dev 2019. 1. 8. 12:51



메서드 이름에서 모호함 해소하기


상황 : 같은 이름을 가진 메서드가 클래스에 있고, 그 부모 클래스에도 있고, 믹스인에도 있을 때?


루비의 검색 방식

1) 객체의 클래스 자체를 검색

2) 클래스에 포함된 믹스인

3) 상위 클래스와 상위 클래스의 믹스인을 검색



다른 파일 포함하기 require & load



load 메서드 : 

1) load 메서드가 실행될 때마다 해당 이름을 가진 루비 소스코드를 포함

ex) load 'filename.rb'

2) 무조건 해당 소스를 로드. --> 바뀐 소스를 다시 불러오는데 이용 가능


require 메서드 : 

1) 해당 파일을 단 한번만 업로드 한다.

ex) require 'filename'

2) 공유된 바이너리 라이브러리 로드 가능 :리눅스에서는 .os, 윈도우에서는 .dll 파일이 여기에 해당.

3) require은 실행 가능한 구문. 즉 require는 if문 안에 있을 수 있고, 실행 중 만들어진 파일 이름 문자열 이용 가능.




댓글