Fråga : Öppna rubys sida - rusa

Pröva förmiddag I att läsa denna för class=" codeSnippet " för site
1 för > ' http://dfwtraffic.dot.state.tx.us/DalTrans/GetFile.aspx?FileName=MapBurnerOutput/TrafficDetectors.js'
<-/pre>
in i en stränga så mig kan leka med den. När jag öppnar den i en webbläsare, den laddar upp nätt ömt ställe (något liknande 5 understöder blast);

but, när jag gör denna: för class=" codeSnippet " för

1 för >s " för prettyprint " för class= för id= " codeSnippet796536 " för >


it för <-/pre>

below är det fullt kodifierar I-förmiddagen som leker med,

thx, för class=" codeSnippet " för
-JW


1 för >


klassificera Sensor<
#Purpose:
nr. => 1) mottar text som innehåller information om 1 avkännare
nr. => 2) Parses info och diversehandel det som rekvisita av objen
nr. till och med Structen anmärka
nr. => 3) har metoden som skjuter datan in i en .csv, sparar
nr.
    Struct.new (: s_id,
               : s_name,
               : s_dataSourceId,
               : s_tmcId,
               : s_type,
               : s_status,
               : s_speed,
               : s_volume,
               : s_longVolume,
               : s_occupancy,
               : s_lastUpdated)

  deffill_struct (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: nytt datera \ (”). *? (? =”)/,

    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]
  avsluta

  
  defmysql_out (db_mysql)
    
  avsluta
  
  
  defcsv_out (f_output)
    self.each gör |i|
      f_output.print i, ”,”,
    avsluta
    f_output.print-”\ n”,
  avsluta

avsluta


#Objective -
nr. =>
nr. =>
nr. =>
nr. =>
defcollect_stats (s_html, s_path)

  rgx_pass_1 = /id. *?}/m #1. Skapa en RegExp för att få individen
                                            nr. resultat

  s_file = öppna (s_html) .read #2. Passera webbplatsen in i s_file variabel
  
  b = [] #3. Skapa en tom samling för att rymma
                                            nr. avkännaren anmärker
  
  s_file.scan (rgx_pass_1) .each gör |i|       #4. Bildläsningen stränger för RegExp matcher
                                            nr. a) Passera varje resultat
   
    a = Sensor.new #5. Skapa den nya avkännaren anmärker
   
    a.fill_struct (I) #6. Åkalla objektets påfyllningsmetoden
                                            nr. a) med resultatet
   
    b<
" klar "

Svar : Öppna rubys sida - rusa

Den öppna appellen verkar för dyr.

Bra tänkande - det liknar json. Jag skulle look på <>http://flori.github.com/json/doc/index.html > för att hur man ska läsa tinget.

kräv ”json”,

…,

JSON.load (källa)
Andra lösningar  
 
programming4us programming4us