지정한 이름의 메서드가 정의되어 있는지 확인하려면 사용하려는 것이 더 좋으며 respond_to?
또는 defined?
입니까?'respond_to?' 대 '정의 된?'
defined?
은 내장 키워드이기 때문에 defined?
을 사용하는 인수가있을 수 있지만 respond_to?
은 방법이므로 빠른 것일 수 있습니다. 그러나 검사 할식이 간단한 방법으로 알려져있는 상황에서 defined?
은 전체 식을 구문 분석해야하며 이는 인수를 받아 들일 필요가있는 respond_to?
을 사용하는 것에 비해 단점이 될 수 있습니다 메서드 이름으로.
어느 것이 더 낫습니까? 고려해야 할 효율성 이외의 다른 요소가 있습니까?