Viser arkivet for stikkord 19

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.

Ruby 1.9 sluppet!

Matz har gitt oss en veldig fin julegave i år: Ruby 1.9. Men husk at dette er en development release og kun er til for å gjøre folk klare til 2.0. Her har jeg satt opp et norsk mirror (på Einar Gangsø sin server).

Det ser ut til at hele 1.9-grenen vil være unstable, mens 2.0 vil bli stable. (Selv om ingen er helt sikre. Kan hende at 1.9.1 eller 1.9.6 blir også stable)