수색…


우편 번호로 날씨를 얻으려면 명령 줄 도구를 작성하는 방법

이는 명령 줄 도구에 제공된 우편 번호에서 날씨를 인쇄하는 명령 줄 도구를 작성하는 방법에 대한 비교적 포괄적 인 자습서입니다. 첫 번째 단계는 루비에 프로그램을 작성하여이 작업을 수행하는 것입니다. weather(zip_code) 메소드를 작성해 봅시다 (이 메소드는 yahoo_weatherman gem이 필요합니다.이 보석이 없다면 명령 행에서 gem install yahoo_weatherman 을 입력하여 설치할 수 있습니다)

require 'yahoo_weatherman'

def weather(zip_code)
  client = Weatherman::Client.new
  client.lookup_by_location(zip_code).condition['temp']
end

이제 우편 번호가 제공 될 때 날씨를 알려주는 아주 기본적인 방법이 있습니다. 이제이를 명령 줄 도구로 만들어야합니다. 쉘과 관련 변수에서 명령 행 도구가 호출되는 방식을 아주 빠르게 살펴 보겠습니다. 툴이이 tool argument other_argument 처럼 호출 될 때, 루비에서는 ['argument', 'other_argument'] 같은 배열 인 변수 ARGV 가있다. 이제 우리의 응용 프로그램에서 이것을 구현하겠습니다.

#!/usr/bin/ruby
require 'yahoo_weatherman'

def weather(zip_code)
  client = Weatherman::Client.new
  client.lookup_by_location(zip_code).condition['temp']
end 
 
puts weather(ARGV[0])

좋은! 이제 실행할 수있는 명령 줄 응용 프로그램이 있습니다. 파일 시작 부분 ( #!/usr/bin/ruby )에서 she-bang 행을 주목하십시오. 이렇게하면 파일을 실행 파일로 만들 수 있습니다. 이 파일을 weather 로 저장할 수 있습니다. ( 참고 : weather.rb 로 저장하지 마십시오. 파일 확장자가 필요없고 she-bang은 루비 파일임을 알리는 데 필요한 모든 것을 알려줍니다). 이제 쉘에서이 명령을 실행할 수 있습니다 ( $ 입력하지 마십시오).

$ chmod a+x weather
$ ./weather [ZIPCODE]

테스트가 끝난 후이 명령을 실행하여 /usr/bin/local/ 에 sym-link 할 수 있습니다

$ sudo ln -s weather /usr/local/bin/weather

이제는 디렉토리에 관계없이 명령 행에서 weather 를 호출 할 수 있습니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow