irb.no

Samlingsplass for rubyister i Oslo

Sonen følges av 238 medlemmer.

Origo irb.no er en sone på Origo.

Ruby 1.9.1 og case conversions

Jeg installerte 1.9.1 og ble overrasket og skuffet over man på tross av ny encoding-støtte fortsatt ikke har støtte for Unicode-kompatible case conversions (eller normalizations, men det er en annen historie):

>> "æøå".encoding
=> #<Encoding:UTF-8>
>> "æøå".upcase
=> "æøå"

Jeg ser at dette er en kjent begrensning som japanerne fortsatt ikke har løst og viser stor vilje til å løse, og at den egentlige fiksen sannsynligvis ikke kommer før 2.0. Sukk.

Jeg vet om gem-en unicode, men denne er ikke oppdatert til 1.9. Det finnes flere bindings til ICU, men de er gamle og utdaterte alle sammen. Jeg har endt opp med UnicodeUtils, som er et rent Ruby-bibliotek, som virker kompetent konstruert og er kompatibelt med 1.9.1.

Samtidig har jeg slengt sammen noen core extensions som delegerer String#upcase og String#downcase via UnicodeUtils. Dette virker harmløst og uproblematisk, men jeg vil gjerne ha noen synspunkter om mulige negative edge cases.