Ruby Language
명령 줄 앱
수색…
우편 번호로 날씨를 얻으려면 명령 줄 도구를 작성하는 방법
이는 명령 줄 도구에 제공된 우편 번호에서 날씨를 인쇄하는 명령 줄 도구를 작성하는 방법에 대한 비교적 포괄적 인 자습서입니다. 첫 번째 단계는 루비에 프로그램을 작성하여이 작업을 수행하는 것입니다. 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
를 호출 할 수 있습니다.