[Für Anfänger] So erhalten Sie den Namen der Ruby-Eisenbahnlinie

Ich lerne gerade Rubin. Ich werde es hier als Aufzeichnung schreiben.

Programmübersicht

  1. Informationen zur verspäteten Eisenbahn erhalten Sie von Json of Railway Delay Information.
  2. Bitten Sie sie, den Routennamen einzugeben, den Sie überprüfen möchten, wenn er sich verzögert
  3. Suchen Sie anhand der Textinformationen, ob die erhaltenen JSON-Informationen eine entsprechende Route enthalten
  4. Wenn es eine entsprechende Route gibt, geben Sie die Verzögerungsinformationen ant aus. Wenn nicht, Ausgabe als nicht zutreffend

getting_delayed_trains_info.rb


require 'open-uri'
require 'nokogiri'  #Edelstein zum Schaben
require 'json'  #Rufen Sie an, um json zu verwenden

#URL analysieren
url = 'http://tetsudo.rti-giken.jp/free/delay.json'
html = open(url).read  
doc = Nokogiri::HTML(html, url)

#In Json-Format analysieren und in Hash konvertieren
hash = JSON.parse doc.css("body").inner_text

#Geben Sie den Routennamen ein, den Sie als Standard überprüfen möchten, und geben Sie ihn ein_Im Zug lagern
puts "Bitte geben Sie die Route ein, für die Sie den Verzögerungsstatus erfahren möchten.Beispiel: Keihin Tohoku Linie"
input_train = gets.chomp

# delayed_Züge Array Variable vorbereiten
delayed_trains = Array.new
# input_Name der verspäteten Route einschließlich Zugzeichenfolge und Datum / Uhrzeit der Aktualisierung verzögert_In Zügen lagern
hash.each {|train| delayed_train << train["name"] + \
            '(Datum und Uhrzeit aktualisieren: ' + Time.at(train["lastupdate_gmt"], in: "+09:00").strftime("%Y-%m-%d %H:%M:%S").to_s + ')' \
            if train["name"].include? input_train }

#Wenn das Array leer ist, muss keine Route verzögert werden, andernfalls wird der Routenname ausgegeben.
if delayed_trains.empty?
  puts "Schick mir "#{input_train}Es gibt keine Verzögerung bei den Routen, die die Zeichen enthalten"
else
  puts delayed_trains.join(",") + "Scheint zu spät zu sein\n Einzelheiten erfahren Sie bei der Eisenbahngesellschaft HP"
end

Es gibt einige Artikel, die Papageienrückgabe mit LINE BOT erstellt haben, aber wenn Sie sich darauf beziehen und diesen Algorithmus einfügen, können Sie LINE BOT erstellen, das antwortet, wenn Sie nach der Route fragen, die Sie fragen möchten, ob sie sich verzögert. ..

Schließlich lerne ich und bin motiviert, das, was ich mache, in Form zu bringen.

Recommended Posts

[Für Anfänger] So erhalten Sie den Namen der Ruby-Eisenbahnlinie
[Ruby] Wie man Slice für Anfänger benutzt
[Für Anfänger] So implementieren Sie die Löschfunktion
Rails / Ruby: So erhalten Sie HTML-Text für Mail
[Ruby on Rails] So ändern Sie den Spaltennamen
So erhalten Sie den Namen einer Klasse / Methode, die in Java ausgeführt wird
So erhalten Sie den Inhalt von Map mithilfe des for-Anweisungsmemorandums
[Java] So erhalten Sie das aktuelle Verzeichnis
So erhalten Sie das Datum mit Java
[Für Anfänger] So debuggen Sie mit Eclipse
[Für Rails-Anfänger] Zusammenfassung der Verwendung von RSpec (Überblick)
So finden Sie die Ursache des Ruby-Fehlers
Wie komme ich zum heutigen Tag?
[Java] So erhalten Sie die endgültige umgeleitete URL
So erstellen Sie die einfachste Blockchain in Ruby
[Für Super-Anfänger] Verwendung des Autofokus: true
So implementieren Sie Paginierung in GraphQL (für Ruby)
Ich möchte den Wert in Ruby erhalten
[Ruby-Grundlagen] Verwendung der Slice-Methode
graphql-ruby: So erhalten Sie den Namen der Abfrage oder Mutation im Controller Hinweis
[Java] So erhalten Sie die URL der Übergangsquelle
Holen Sie sich den Anime-Namen für diesen Begriff durch Scraping
So erstellen Sie eine mit Ruby erstellte LINE-Messaging-Funktion
[Java] So extrahieren Sie den Dateinamen aus dem Pfad
[Für Anfänger] So bedienen Sie die Stream-API nach Java 8
[Java] So erhalten Sie den Maximalwert von HashMap
So erhalten Sie den Klassennamen des Arguments von LoggerFactory.getLogger, wenn Sie SLF4J in Java verwenden
[Rails] So ändern Sie den Spaltennamen der Tabelle
[Android] So erhalten Sie die Einstellungssprache des Terminals
Ruby, Nokogiri: Ruft den Elementnamen des ausgewählten Knotens ab
[Rails] So erhalten Sie den Inhalt starker Parameter
Wie erstelle ich einen MOD für Slay the Spire?
[Swift] So erhalten Sie die Firebase-Dokument-ID
Erklärung von Ruby on Rails für Anfänger ④ ~ Informationen zu Benennungsregeln und zur Verwendung von form_Tag ~
Wie man GitHub für Super-Anfänger benutzt (Teamentwicklung)
Wie man Kotlin zum ersten Mal studiert ~ Teil 2 ~
Wie man Kotlin zum ersten Mal studiert ~ Teil 1 ~
So ändern Sie dynamisch den von MyBatis erfassten Spaltennamen
SDWebImage: So löschen Sie den Cache für eine bestimmte UIImageView
So rufen Sie den Hashwert in einem Array in Ruby ab
So erhalten Sie die längsten Informationen von Twitter ab dem 12.12.2016
[Ruby] So rufen Sie den Inhalt des Doppel-Hash ab
So erhalten Sie das Protokoll, wenn install4j nicht gestartet wird
Für Java-Anfänger: Liste, Karte, Iterator / Array ... Wie konvertiere ich?
[jsoup] So erhalten Sie die gesamte Dokumentation