2016-11-09 9 views
1

을 호출합니다. 따라서 내 마지막 question과 관련이있는 것 같지만 명령 줄 옵션을 사용하여 메서드를 호출하는 방법이 있는지 궁금합니다. 이명령 줄 옵션을 사용하여 메서드

Hello brian 

이미이 온라인을 찾고 시도하고

ruby mine.rb -b 

얻을 : 이런 식으로 뭔가를 작성하는 방법이

def b 
puts "Hello brian" 
end 

:이 같은 방법을 가지고 말 OptionParser를 발견했지만 이전에 만든 메서드를 호출하는 OptionParser와 관련된 것을 아직 발견하지 못했습니다.

답변

1

유스 케이스에 따라이 작업을 수행하는 데는 여러 가지 방법이 있습니다. 아래의 코드는 추가적인 메소드가 추가 된 Ruby docs에서 가져온 것입니다.

현실적으로 다른 옵션을 처리하고 파일 범위에서 처리하는 대신 캡슐화하는 클래스를 원할 수 있습니다.

#!/usr/bin/env ruby 

require 'optparse' 

options = {} 
OptionParser.new do |opts| 
    opts.banner = "Usage: example.rb [options]" 

    opts.on("-b", "Run method 'b'") do |v| 
    options[:b] = true 
    end 
end.parse! 

def b 
    puts "Hello Brian" 
end 

if options[:b] 
    b 
end 

또한 루비를 자동으로 호출하는 상단에 새틴을 추가했습니다. 스크립트 파일이 실행 가능하면 직접 호출 할 수 있습니다 (예 : ./mine.rb -b).

+0

아, 지금 받으십시오! 정말 고맙습니다! – yukimoda

관련 문제