Zoeken…


Hoe een opdrachtregelprogramma te schrijven om het weer op postcode te krijgen

Dit is een relatief uitgebreide tutorial over het schrijven van een opdrachtregelprogramma om het weer af te drukken vanuit de postcode die aan het opdrachtregelprogramma wordt verstrekt. De eerste stap is om het programma in robijn te schrijven om deze actie te doen. Laten we beginnen met het schrijven van een methode weather(zip_code) (deze methode vereist de edelsteen yahoo_weatherman . Als je deze edelsteen niet hebt, kun je deze installeren door gem install yahoo_weatherman typen vanaf de opdrachtregel)

require 'yahoo_weatherman'

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

We hebben nu een zeer eenvoudige methode die het weer geeft wanneer er een postcode aan wordt gegeven. Nu moeten we er een opdrachtregelprogramma van maken. Laten we heel snel kijken hoe een opdrachtregelprogramma wordt aangeroepen vanuit de shell en de bijbehorende variabelen. Wanneer een tool zoals dit tool argument other_argument , is er in robijn een variabele ARGV die een array is gelijk aan ['argument', 'other_argument'] . Laten we dit nu in onze applicatie implementeren

#!/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])

Mooi zo! Nu hebben we een opdrachtregeltoepassing die kan worden uitgevoerd. Let op de she-bang- regel aan het begin van het bestand ( #!/usr/bin/ruby ). Hierdoor kan het bestand een uitvoerbaar bestand worden. We kunnen dit bestand als weather opslaan. ( Opmerking : sla dit niet op als weather.rb , de bestandsextensie is niet nodig en de she-bang vertelt alles wat u moet vertellen dat dit een ruby-bestand is). Nu kunnen we deze opdrachten in de shell uitvoeren (typ niet de $ ).

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

Nadat we hebben getest of dit werkt, kunnen we dit nu sym-linken aan /usr/bin/local/ door deze opdracht uit te voeren

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

Het weather kan nu op de opdrachtregel worden opgeroepen, ongeacht de map waarin u zich bevindt.



Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow