2012-02-23 2 views
0

instance_varaible_set/instance_variable_get 또는 attr_writer/attr_reader 사이에서 개체의 인스턴스 변수에 액세스하려면 상황이 있습니까? 그것들은 속도면에서 어떻게 다른가?instance_variable_set/vs attr_writer/reader 가져 오기

인스턴스 변수에 최종 사용자에게 열린 메서드를 액세스하려는 경우 attr_writer/attr_reader을 사용하여 쉽게 만들 수 있지만 개인적으로 사용하려는 경우 instance_varaible_set/instance_variable_get. 이 이해가 맞습니까?

답변

1

정확합니다. 클래스 정의 내에 attr_accessor/attr_reader/attr_writer을 정의하여 인스턴스 변수에 액세스 (암시 적 또는 명시 적으로 생성)하도록합니다.

클래스가 작성되지 않았고 해당 접근자가없는 경우에도 instance_variable_get/instance_variable_set을 사용하여 개인 인스턴스 변수를 읽고 쓸 수 있습니다.

+0

실제로 프로파일 러를 실행하고 instance_varaible_set/instance_variable_get이 약간 느린 것 같습니다. – sawa

관련 문제