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 "
|