[Pour les débutants] Comment obtenir le nom de la ligne de chemin de fer différée Ruby

J'étudie le rubis en ce moment. Je vais l'écrire ici comme un disque.

Aperçu du programme

  1. Obtenez les informations ferroviaires retardées auprès de Json des informations sur les retards ferroviaires
  2. Demandez-leur d'entrer le nom de l'itinéraire que vous souhaitez vérifier s'il est retardé
  3. Sur la base des informations textuelles, recherchez s'il existe un itinéraire correspondant dans les informations json obtenues
  4. S'il existe une route correspondante, émettez les informations de retard ant. Sinon, afficher comme non applicable

getting_delayed_trains_info.rb


require 'open-uri'
require 'nokogiri'  #Gemme à gratter
require 'json'  #Appel à utiliser json

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

#Analyser au format Json et convertir en hachage
hash = JSON.parse doc.css("body").inner_text

#Saisissez le nom de l'itinéraire que vous souhaitez vérifier en standard et saisissez_Magasin dans le train
puts "Veuillez saisir l'itinéraire pour lequel vous souhaitez connaître l'état du retard.Exemple: ligne Keihin Tohoku"
input_train = gets.chomp

# delayed_préparer les trains, variable de tableau
delayed_trains = Array.new
# input_Nom de l'itinéraire retardé avec chaîne de train et date / heure de mise à jour retardée_Stocker dans les trains
hash.each {|train| delayed_train << train["name"] + \
            '(Mettre à jour la date et l'heure: ' + Time.at(train["lastupdate_gmt"], in: "+09:00").strftime("%Y-%m-%d %H:%M:%S").to_s + ')' \
            if train["name"].include? input_train }

#Si le tableau est vide, il n'y a pas de route à retarder, sinon le nom de la route est affiché.
if delayed_trains.empty?
  puts "Envoi moi "#{input_train}Il n'y a pas de retard dans les itinéraires qui incluent les personnages"
else
  puts delayed_trains.join(",") + "Semble être en retard\n Pour plus de détails, veuillez consulter la compagnie ferroviaire HP"
end

Il y a quelques articles qui ont créé un retour de perroquet avec LINE BOT, mais si vous y faites référence et mettez cet algorithme, je pense que vous pouvez faire LINE BOT qui répondra si vous demandez l'itinéraire que vous souhaitez demander s'il est retardé. ..

Après tout, j'étudie et je suis motivé pour faire de ce que je fais une forme.

Recommended Posts

[Pour les débutants] Comment obtenir le nom de la ligne de chemin de fer différée Ruby
[Ruby] Comment utiliser slice pour les débutants
[Pour les débutants] Comment implémenter la fonction de suppression
Rails / Ruby: Comment obtenir du texte HTML pour Mail
[Ruby on Rails] Comment changer le nom de la colonne
Comment obtenir le nom d'une classe / méthode exécutée en Java
Comment obtenir le contenu de la carte à l'aide du mémorandum d'instructions
[Java] Comment obtenir le répertoire actuel
Comment obtenir la date avec Java
[Pour les débutants] Comment déboguer avec Eclipse
[Pour les débutants Rails] Résumé de l'utilisation de RSpec (obtenir un aperçu)
Comment trouver la cause de l'erreur Ruby
Comment obtenir le jour d'aujourd'hui
[Java] Comment obtenir l'URL redirigée finale
Comment créer la blockchain la plus simple de Ruby
[Pour les super débutants] Comment utiliser l'autofocus: vrai
Comment implémenter la pagination dans GraphQL (pour ruby)
Je veux obtenir la valeur en Ruby
[Introduction à Ruby] Comment utiliser la méthode slice
graphql-ruby: Comment obtenir le nom de la requête ou de la mutation dans le contrôleur Remarque
[Java] Comment obtenir l'URL de la source de transition
Obtenez le nom d'anime de ce terme en grattant
Comment créer une fonction de messagerie LINE avec Ruby
[Java] Comment extraire le nom du fichier du chemin
[Pour les débutants] Comment utiliser Stream API après Java 8
[Java] Comment obtenir la valeur maximale de HashMap
Comment obtenir le nom de classe de l'argument de LoggerFactory.getLogger lors de l'utilisation de SLF4J en Java
[Rails] Comment changer le nom de colonne de la table
[Android] Comment obtenir la langue de réglage du terminal
Ruby, Nokogiri: récupère le nom de l'élément du nœud sélectionné
[Rails] Comment obtenir le contenu des paramètres forts
Comment faire un MOD pour Slay the Spire
[Swift] Comment obtenir l'ID de document Firebase
Explication de Ruby on rails pour les débutants ④ ~ À propos des règles de dénomination et comment utiliser form_Tag ~
Comment utiliser GitHub pour les super débutants (développement d'équipe)
Comment étudier le kotlin pour la première fois ~ Partie 2 ~
Comment étudier le kotlin pour la première fois ~ Partie 1 ~
Comment changer dynamiquement le nom de la colonne acquis par MyBatis
SDWebImage: Comment vider le cache pour une UIImageView particulière
Comment récupérer la valeur de hachage dans un tableau dans Ruby
Comment obtenir les informations les plus longues de Twitter à partir du 12/12/2016
[Ruby] Comment récupérer le contenu du double hachage
Comment obtenir le journal lorsque install4j ne démarre pas
Pour les débutants Java: List, Map, Iterator / Array ... Comment convertir?
[jsoup] Comment obtenir la totalité de la documentation