Questione : Pagina del rubino - velocità aperta

Sto provando a leggere questo class= " lineNumbers " >
1 del >
 ' http://dfwtraffic.dot.state.tx.us/DalTrans/GetFile.aspx?FileName=MapBurnerOutput/TrafficDetectors.js'
il class= > " libero " di 

but quando faccio questo: class= " lineNumbers " >
1 del >

s codeBody " del prettyprint " " del class= del id= " codeSnippet796536 del >


it di

below è il codice che completo sto giocando con,

thx, class= " lineNumbers " >
1 del >
-JW



codice categoria Sensor<
#Purpose:
# il => 1) riceve il testo che contiene le informazioni su 1 sensore
# il => 2) analizza l'Info e la immagazzina come proprietà del obj
# attraverso l'oggetto di Struct
# il => 3) ha metodo per spingere i dati in una lima di .csv
#
    Struct.new (: s_id,
               : s_name,
               : s_dataSourceId,
               : s_tmcId,
               : s_type,
               : s_status,
               : s_speed,
               : s_volume,
               : s_longVolume,
               : s_occupancy,
               : s_lastUpdated)

  fill_struct del def (s_text)

      @arr = Array.new (11)
      @arr [0] = (? <=id: ").*? (? =")/
      @arr [1] = (? <=name: ").*? (? =")/
      @arr [2] = (? <=dataSourceId: ").*? (? =")/
      @arr [3] = (? <=tmcID: ").*? (? =")/
      @arr [4] = (? <=type: ").*? (? =")/
      @arr [5] = (? <=status: ").*? (? =")/
      @arr [6] = (? <=speed: ). *? (? =,)/
      @arr [7] = (? <=volume: ). *? (? =,)/
      @arr [8] = (? <=longVolume: ). *? (? =,)/
      @arr [9] = (? <=occupancy: ). *? (? =,)/
      @arr [10] = (? <=lastUpdated: nuova data \ ("). *? (? =")/

    self.s_id = s_text.scan (@arr [0]) [0]
    self.s_name = s_text.scan (@arr [1]) [0]
    self.s_dataSourceId = s_text.scan (@arr [2]) [0]
    self.s_tmcId = s_text.scan (@arr [3]) [0]
    self.s_type = s_text.scan (@arr [4]) [0]
    self.s_status = s_text.scan (@arr [5]) [0]
    self.s_speed = s_text.scan (@arr [6]) [0] .to_i
    self.s_volume = s_text.scan (@arr [7]) [0] .to_i
    self.s_longVolume = s_text.scan (@arr [8]) [0] .to_i
    self.s_occupancy = s_text.scan (@arr [9]) [0] .to_i
    self.s_lastUpdated = s_text.scan (@arr [10]) [0]
  estremità

  
  mysql_out del def (db_mysql)
    
  estremità
  
  
  csv_out del def (f_output)
    self.each fanno |i|
      f_output.print i, “,„
    estremità
    “\ n„ di f_output.print
  estremità

estremità


#Objective -
# =>
# =>
# =>
# =>
collect_stats del def (s_html, s_path)

  rgx_pass_1 = /id. *?}/m #1. generano un RegExp per ottenere specifici
                                            # risultati

  (s_html) Web site s_file = aperto del passaggio di .read #2. nella variabile s_file
  
  la b = [] #3. genera un allineamento vuoto per tenere
                                            # oggetti del sensore
  
  s_file.scan (rgx_pass_1) .each fanno |i|       #4. Stringa di esplorazione per i fiammiferi di RegExp
                                            # a) Passare ogni risultato
   
    la a = Sensor.new #5. generano il nuovo oggetto del sensore
   
    a.fill_struct (i) #6. invocano il metodo del materiale di riempimento dell'oggetto
                                            # a) con il risultato
   
    deposito di b< " libero " di end
class= del

Risposta : Pagina del rubino - velocità aperta

La chiamata aperta sembra troppo costosa.

Buon pensiero - assomiglia al json. Esaminerei <>http://flori.github.com/json/doc/index.html > affinchè come legga la cosa.

richiedere “il json„



JSON.load (fonte)
Altre soluzioni  
 
programming4us programming4us