Rails 3.0을 배우기 시작했으며 언젠가 Pure Ruby 1.9를 배우기로 결정했습니다. 항상 사용할 수 있기 때문에 객체 클래스를 볼 수있는 방법이 있는지 궁금합니다. 마찬가지로 IRB에 입력 할 수있는 명령은 to_a, to_s 등과 같은 객체 클래스의 모든 메소드를 표시합니다. 어떤 도움을 주셔서 감사합니다.Object 클래스의 모든 메소드/속성을 보려면 어떻게해야합니까?
답변
#methods
은 원하는 방법입니다. 객체가 응답하는 메소드의 모든 이름 인 ar 배열을 반환합니다.
Object.new.methods
또는 IRB에서 더 읽기 :
puts Object.new.methods.sort.to_yaml
또는 클래스 메소드 :
Object.methods
하나 개주의해야하지만, 일부 개체는 허용되지 않습니다 방법 여기에 나열되어 있습니다. #method_missing
에 후크로 구현 된 것은 표시되지 않습니다. 여기에는 다른 레일 객체뿐만 아니라 많은 ActiveRecord
메소드가 포함됩니다.
그러나 까다로운 일이 일어나지 않는 한, 이것은 당신이 원하는 것처럼 보이는 목록입니다.
개체의 메서드를 보려면 your_object.methods
을 사용할 수 있습니다. 클래스의 경우 클래스 메서드가됩니다. 클래스의 인스턴스 메소드를 보려면 your_class.instance_methods
을 사용할 수 있습니다. Object의 모든 클래스 메서드를 나열하려면 Object.methods
을 사용하고 Object의 모든 인스턴스 메서드를 보려면 Object.instance_methods
을 사용합니다.
추가 팁 : 주어진 클래스가 구현하는 메소드 (조상으로부터 상속 된 메소드가 아님) 만보고 싶다면 앞서 언급 한 방법 중 하나에 인수로 false
을 전달할 수 있습니다. 따라서 예를 들어 String.instance_methods(false)
은 String이 구현하는 인스턴스 메서드 목록을 반환하지만 dup
및 is_a?
과 같은 일반 Object 메서드는 반환하지 않습니다.
그러나 배우고 자한다면 클래스 또는 클래스 확장 (예 : Rails의 문자열 또는 날짜 추가) 문서를 보는 것이 더 나을 것입니다.
- 1. 배열의 모든 항목을 보려면 어떻게해야합니까?
- 2. backbone.js 모델의 모든 속성을 보려면 어떻게해야합니까?
- 3. 오차드 테마의 모든 영역을 보려면 어떻게해야합니까?
- 4. 콘솔을 통해 모든 내장 항목을 보려면 어떻게해야합니까?
- 5. PHP - 클래스가 수행하는 모든 동작을 보려면 어떻게해야합니까?
- 6. jQuery Ajax 응답의 모든 결과를 보려면 어떻게해야합니까?
- 7. 데이터 뷰어에서 모든 행을 보려면 어떻게해야합니까?
- 8. solr이 색인을 생성하는 모든 데이터를 보려면 어떻게해야합니까?
- 9. YouTube 채널의 모든 동영상을 보려면 어떻게해야합니까?
- 10. Xcode - 내가보고있는 현재 클래스 안에있는 모든 메서드를 보려면 어떻게해야합니까?
- 11. phpbb에서 게시물보기를 보려면 어떻게해야합니까?
- 12. jar 파일의 소스 코드를 보려면 어떻게해야합니까?
- 13. javadocs에서 현재 보이는 클래스의 모든 클래스보기?
- 14. 보류중인 모든 변경 사항을 VSTS 소스 제어 탐색기에서 보려면 어떻게해야합니까?
- 15. 사용 가능한 모든 reltool 오버레이 템플릿 변수를 보려면 어떻게해야합니까?
- 16. Visual Studio : asax 및 aspx 파일의 모든 오류를 보려면 어떻게해야합니까?
- 17. iPhone의 모든 사진을 보려면 어떻게해야합니까? 내장 사진 보관함
- 18. SVN의 파일에 대한 모든 내역 변경 사항을 보려면 어떻게해야합니까?
- 19. iPhone 앱을 사용하는 모든 사용자의 목록을 보려면 어떻게해야합니까?
- 20. 디버깅 중에 변수의 모든 내용을 보려면 어떻게해야합니까? 줄이 너무 길어서
- 21. Mercurial에서 파일 기록을 보려면 어떻게해야합니까?
- 22. System.Net.GlobalLog -이 출력을 보려면 어떻게해야합니까?
- 23. MultipartForm 요청의 내용을 보려면 어떻게해야합니까?
- 24. LINQPad가있는 표현식 트리를 보려면 어떻게해야합니까?
- 25. totalview에서 소스 코드를 보려면 어떻게해야합니까?
- 26. WCF 서비스에서 JSON을 보려면 어떻게해야합니까?
- 27. 준비된 진술의 내용을 보려면 어떻게해야합니까?
- 28. MSVC9 : 메모리에서 위치를 보려면 어떻게해야합니까?
- 29. Android에서 로그 메시지를 보려면 어떻게해야합니까?
- 30. printf의 구현 소스를 보려면 어떻게해야합니까?
Niggle :''methods''는 문자열이 아닌 기호의 배열을 반환합니다. – cantlin
루비 1.8.7에서는 문자열을 얻습니다. 슬프게도 내가 가장 익숙한 것입니다. –
음침한 고맙습니다. 아무도 내 질문을 이해할 수 없다고 생각했습니다. –