ugrás a tartalomhoz

regexp minta tovabbfejlesztese, Ruby

carstepPCE · 2010. Júl. 14. (Sze), 08.39
Hali,

sziasztok van egy link href attributuma, amibol ki kell vennem egy querystring parameter erteket. Ezt megoldottam a kovetkezokeppen bar szerintem nem teljesen elegans:
prodID = link.href.match(/idvalue=\d+/)[0].split('=')[1]
A szobanforgo minta az idvalue=( decimalis szamok )
Van vkinek otelete a tovabbfejlesztesre?

Udv
Sanyi
 
1

CGI.parse

Török Gábor · 2010. Júl. 14. (Sze), 09.18
Rubyban nem vagyok jártas, de a regexed szerintem teljesen jó. Viszont ha gyűjtőbe tennéd a keresett számot, akkor nem kéne külön még splittelni az eredményt: /idvalue=(\d+)/.

Ha már Ruby, akkor használhatod az eszközkészletét is erre, a CGI.parse() függvénnyel egy query stringet tudsz feldarabolni név–érték párosokra.
>> q = 'idvalue=20&bla=lol'
>> params = CGI.parse(q)
=> {"bla"=>["lol"], "idvalue"=>["20"]}
2

kosz...

carstepPCE · 2010. Júl. 14. (Sze), 10.18
a gyujtot, eddig nem igazan tudtam mire jo, mindenki "by side" hasznalta, magyarazatot nem nagyon talaltam hozza, de ez sokat segitett.

a CGI parse szerintem kicsit tobb eroforrast zabalhat /ezt is be kell tolteni a memoriaba/, inkabb maradok a String match fuggvenyenel :-)

Udv
Sanyi

UI.: tetszik a ruby / jruby nyelv, de borzaszto dokumentacioja van(kozel semmilyen, mindenre amire kattintok az 404,500s hibakkal szall el) , egyet talaltam (Ruby Essentials), ami jonak tunik, de az a nap bizonyos szakaszaiban szinte hasznalhatatlan. Ha valaki tud jo forrasokat, akkor megkoszononnem foleg jRuby temaban