Ruby 1.8.7에있는 Rails 앱에서 데코레이터로 구현 된 특정 클래스가 있습니다. 나는 계속 경고를 받는다 - warning: already initialized constant ABC
. 여기서 ABC는 상수의 이름입니다.상수가 이미 Ruby 클래스에 정의되어 있는지 확인하는 올바른 방법
이 문제를 해결하기 위해이 answer에 제안 된대로 const_defined? 메서드를 사용하고 있습니다.
내 생각 엔 const_defined?
루비에서 클래스 상수가 이미 정의되어 있는지 확인하는 올바른 방법입니까? 모듈 상수를 확인하는 데 사용할 수 있음을 분명히 알 수 있습니다.
이 answer에서 언급 한대로 defined?
방법을 사용할 수도 있음을 알게되었습니다. defined?
의 설명서를 찾으려고했지만 지금까지 내 검색을 기반으로하는 설명서에 대한 링크가 표시되지 않습니다.
이 두 가지 중에서 분명히 다른 점을 알 수 없으므로 둘 중 어느 것을 선택해야할지 모르겠습니다.
이 상황에서 어떤 것이 가장 좋고, 왜 사용해야하는지 제안 해주십시오.
: 이와 같은 경우를 들어
을, 당신은
begin ... rescue ... end
문을 사용할 수 있습니다 도움이 될 수 있습니다. http://stackoverflow.com/q/3398590/477037 – Stefan