루비

2010-08-07 2 views
1

에서 확장 명령 줄 인터페이스를 설계 내가 가지고 내가하고 싶은 다음 작업 :루비

  • 디자인 로그 파일을 분석하는 기본 알고리즘 (그 질문하지 마십시오).
  • 전화를 변형 할 수 있도록 OptionParser를 통해 몇 가지 옵션을 제공하십시오.
  • 원본 알고리즘을 사용하는 다른 스크립트로 기본 알고리즘을 확장합니다.

이제 질문 : 기능을 확장하고 명령 줄 인터페이스를 사용하고 확장하는 가장 좋은 방법은 무엇입니까?

구현은 현재 :

ana.rb 

class PerfAnalyser 
    def self.options(args) 
    ... 
    PerfAnalyser.new(options).analyze 
    end 
    def analyse 
    # Do base analysis here 
    end 
end 
if __FILE__ == $0 
    pa= PerfAnalyzer.options(ARGV) 
    pa.print_out 
end 

overview.rb 

def overview(args) 
    pa = PerfAnalyzer.options(args) 
    pa.overview 
end 
class PerfAnalyzer 
    def overview 
    ... 
    end 
end 
if __FILE__ == $0 
    overview(ARGV) 
end 

그래서 내가 전화를 할 수 있어요 : ruby ana.rb -f log.log -d dump.dmpruby overview.rb -f log.log -d dump.dmp

하지만 스크립트 overview.rb에 스크립트 ana.rb에 알려지지 않은 몇 가지 옵션을 추가 할 수있는 방법? 그래서 허용하는 방법 ruby overview.rb -f log.log -f tree 명령 줄 옵션을 읽는 코드를 복사하지 않고?

답변

0

commander 보석을 확인하고 싶을 수 있습니다.

+0

지금 당장 사령관을 설치하고 있습니다. 확실한 것은 : 커맨드 라인 인터페이스의 현재 디자인이 어떻게 바뀌고 확장이 더 쉬운가? 내 목표는 다른 파일의 명령 줄 인터페이스를 사용하고 그것을 복사하지 않고 확장하는 것입니다. – mliebelt