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.dmp
및
ruby overview.rb -f log.log -d dump.dmp
하지만 스크립트 overview.rb
에 스크립트 ana.rb
에 알려지지 않은 몇 가지 옵션을 추가 할 수있는 방법? 그래서 허용하는 방법 ruby overview.rb -f log.log -f tree
명령 줄 옵션을 읽는 코드를 복사하지 않고?
지금 당장 사령관을 설치하고 있습니다. 확실한 것은 : 커맨드 라인 인터페이스의 현재 디자인이 어떻게 바뀌고 확장이 더 쉬운가? 내 목표는 다른 파일의 명령 줄 인터페이스를 사용하고 그것을 복사하지 않고 확장하는 것입니다. – mliebelt