Näytä kirjoitukset

Tässä osiossa voit tarkastella kaikkia tämän jäsenen viestejä. Huomaa, että näet viestit vain niiltä alueilta, joihin sinulla on pääsy.


Aiheet - SuperOscar

Sivuja: 1 ... 4 5 [6]
101
Kaikkihan tämän Slashdotista jo lukivat, mutta pannaan silti tännekin...

http://yro.slashdot.org/article.pl?sid=07/09/12/0011209&from=rss

Aika uskomaton juttu: tietokonekauppias kieltäytyy hyväksymästä konetta takuuseen, kun siihen on käyttäjä asentanut Linuxin koneen mukana toimitettua Windowsia korvaamaan. Kaikkea ne yrittävätkin!

102
Olen kyllä vannoutunut Pythonin suosija enkä Perliin mielelläni kajoa, mutta... Sain eilen lopulta ratkaistuksi pitkään kiusanneen ongelman, joka osoitti, kuinka vahvaa Perlin sääntölausekkeiden käsittely on. Olkoon siis opiksi ja ojennukseksi kaikille!

Tavoitteena oli muuttaa URLeissa olevia kyselylausekkeita tekstiksi. Kyselylausekkeissa mm. ääkköset oli merkitty muotoon % + heksaluku, siis esim. ä = %e4.

Perlillä homma menee näin:

Koodia: [Valitse]
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;

Ts. etsitään %heksaluku-jonot, joista itse heksaluku merkitään ryhmäksi suluin, ja sitten muutetaan luku vastaavaksi merkiksi. Taikatempun tekee s-operaattorin e-valitsin, jonka ansiosta korvaava merkkijono voi olla suoritettava lauseke.

Pythonilla homma ei mene kuten seuraavassa esimerkissä, koska re.sub-funktion toisen argumentin on oltava literaali merkkijono – jos merkkijonoa yrittää jatkokäsitellä funktiossa, \n-viittaukset menettävät ”taikansa":

Koodia: [Valitse]
value = re.sub(r'%([A-Fa-f0-9][A-Fa-f0-9])', chr(int('\1', 16)), value)

Mutta tokihan myös re.subissa on taikakonsti: jos kakkosargumenttina on funktio (ei siis kutsu vaan viittaus), sitä funktiota kutsutaan suorittamaan muunnos; ja toki funktiona voi olla myös lambda, kuten tässä:

Koodia: [Valitse]
value = re.sub(r'%([A-Fa-f0-9][A-Fa-f0-9])', lambda m: chr(int(m.group(1), 16)), value)

Hoituuhan tuo siis Pythonillakin, mutta kyllä on myönnettävä sääntölausekkeiden käsittelyn olevan koko lailla vaivattomampaa Perlissä – niin ällö kieli kuin muuten onkin :)

103
Hitusen jo ehdin toivoa, että 7.04:ään tultaessa tämä olisi korjattu, mutta ei...

Mikähän ihmeen kömmähdys on mahtanut johtaa siihen, että Kubuntun Näppäimistön järjestys -työkalussa (Alueellisuus ja käytettävyys -osiossa) 'näppäimistövarianttia' tarkoittavan sarakkeen nimenä on "Bulgaria"?!


Sivuja: 1 ... 4 5 [6]