abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 0
    dnes 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 1
    dnes 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    dnes 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 6
    včera 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    včera 12:33 | IT novinky

    Evropská komise by do léta mohla předložit návrh normy omezující používání sociálních sítí dětmi v zájmu jejich bezpečí na internetu. Prohlásila to včera předsedkyně EK Ursula von der Leyenová, podle níž řada zemí Evropské unie volá po zavedení věkové hranice pro sociální sítě. EU částečně řeší bezpečnost dětí v digitálním prostředí v již platném nařízení o digitálních službách (DSA), podle německé političky to však není dostatečné a

    … více »
    Ladislav Hagara | Komentářů: 45
    včera 04:11 | Nová verze

    Multiplatformní open source aplikace scrcpy (Wikipedie) pro zrcadlení připojeného zařízení se systémem Android na desktopu a umožňující ovládání tohoto zařízení z desktopu, byla vydána v nové verzi 4.0.

    Ladislav Hagara | Komentářů: 0
    12.5. 23:22 | Pozvánky

    Chybí vám někdo, s kým byste si popovídali o bastlení, technice, počítačích a vědě? Nechcete riskovat debatu o sportu u piva v hospodě? Pak doražte na virtuální pokec u virtuálního piva v rámci Virtuální Bastlírny organizované strahovským MacGyverem již tento čtvrtek. Možná se ptáte, co se tak může probírat? Dají se probrat slavná výročí - kromě 55 let obvodu 555 (což je mimochodem prý andělské číslo) a vzpomínky na firmu Signetics -

    … více »
    bkralik | Komentářů: 2
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (25%)
    Celkem 1606 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: České třídění v perlu

    18.10.2012 19:23 Tomáš
    České třídění v perlu
    Přečteno: 665×
    Nevím jak donutit perl, aby třídil správně česky, jakmile přepnu LC_COLLATE zařadí se řetězce s mezerou chybně na konec:
    use POSIX qw /locale_h/;
    use locale;
    
    @a = ('A š', 'A v', 'Aaa');
    
    setlocale LC_COLLATE, "C";
    print "$_\n" foreach sort @a;
    
    print "\n";
    setlocale LC_COLLATE, "cs_CZ.UTF-8";
    print "$_\n" foreach sort @a;
    
    A v
    A š
    Aaa
    
    Aaa
    A š
    A v
    

    Odpovědi

    18.10.2012 20:52 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    No jestli on nebude problém spíš v tom, že sort v Perlu spoléhá na to, co mu "vrátí systémový sort". Viz následující:

    mike@tinky:~$ locale
    LANG=cs_CZ.UTF-8
    LANGUAGE=
    LC_CTYPE="cs_CZ.UTF-8"
    LC_NUMERIC="cs_CZ.UTF-8"
    LC_TIME="cs_CZ.UTF-8"
    LC_COLLATE="cs_CZ.UTF-8"
    LC_MONETARY="cs_CZ.UTF-8"
    LC_MESSAGES="cs_CZ.UTF-8"
    LC_PAPER="cs_CZ.UTF-8"
    LC_NAME="cs_CZ.UTF-8"
    LC_ADDRESS="cs_CZ.UTF-8"
    LC_TELEPHONE="cs_CZ.UTF-8"
    LC_MEASUREMENT="cs_CZ.UTF-8"
    LC_IDENTIFICATION="cs_CZ.UTF-8"
    LC_ALL=
    mike@tinky:~$ cat ./foo 
    A š
    A v
    Aaa
    mike@tinky:~$ sort ./foo 
    Aaa
    A š
    A v
    

    Možná bych popřemýšlel o použití Cz::Sort

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 21:58 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ono to je nejspis podle normy dobre, protoze ta pred abecedu radi jen tvrdou mezeru.
    18.10.2012 22:11 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Jak je to přesně podle normy netuším :-( Na to by musel odpovědět nějaký znalec, za kterého se rozhodně nepovažuji...
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:51 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Ve vycucu z ČSN 97 6030 se pise
    Spojovník a nepřerušující mezera před abecedou.
    vizte http://racek.vlada.cz/usneseni/usneseni_webtest.nsf/WebGovRes/0AD8FEF4CC04B7A4C12571B6006D69D0?OpenDocument
    19.10.2012 12:45 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Díky za odkaz - člověk se pořád učí. Nicméně bych si v tomto případě dovolil postesknout nad jistou nelogičností, kterou v tomto pravidle vidím. Ačkoliv chápu, že v češtině máme podobných úchvatných „mozkolamů“ přehršel, tak konkrétně v tomto případě je to opravdu na mašli. Pokud odhlédneme od typografie, kde rozdíl mezi spojovníkem, nezalomitelnou mezerou a obyčejnou mezerou dává smysl, tak při řazení slov smysl poněkud postrádám. Ale jak jsem psal v předchozím příspěvku, necítím se být odborníkem na všechny kličky mého rodného jazyka a jsem rád, že intuitivně ovládám alespoň jeho základy.
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 12:47 l4m4
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Tady ale nejde o řazení slov, slova mezery neobsahují žádné. Jde o řazení frází.
    18.10.2012 20:55 Mirek
    Rozbalit Rozbalit vše Re: České třídění v perlu
    18.10.2012 21:42 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Proměnnou LANG může mít nastavenou jak chce, protože v tom skriptu si nastavuje dle potřeby LC_COLLATE na cs_CZ.utf8 ;-)
    Je nesmírně těžké být idiotem, konkurence je obrovská...
    18.10.2012 22:08 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Problém je v tom, že v definici locale je pro znak "mezera" (nejen) v cs_CZ.utf8 krpa, která znepříjemňuje život nejen v Perlu, ale tak nějak napříč systémem. :-( Existuje pro to dokonce zdokumentovaná oprava:

    1. V souboru /usr/share/i18n/locales/cs_CZ je třeba opravit řádek:
      <U0020> IGNORE;IGNORE;IGNORE;<U0020> na <U0020> <U0020>;IGNORE;<U0020>;<U0020>
    2. Vypsat z archivu všechny české definice:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      
      a smazat je:
      localedef --delete-from-archive cs_CZ
      localedef --delete-from-archive cs_CZ.utf8
      
    3. Vytvořit novou binární podobu z opravené textové definice:
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ
      localedef -i /usr/share/i18n/locales/cs_CZ -f UTF-8 /usr/lib/locale/cs_CZ.UTF-8
      
    4. V adresáři s archivem přidat binárky do archivu:
      cd /usr/lib/locale/
      localedef --add-to-archive cs_CZ
      localedef --add-to-archive cs_CZ.UTF-8
      
    5. Na konci pro jistotu zkontrolovat, že je vše OK:
      $ localedef --list-archive | grep cs_CZ
      cs_CZ
      cs_CZ.utf8
      

    A voilá po opravě locale:

    $ cat foo 
    A v
    Abc
    A b
    A š
    A č
    Aaa
    
    $ sort foo 
    A b
    A č
    A š
    A v
    Aaa
    Abc
    
    

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    19.10.2012 10:45 Tomáš
    Rozbalit Rozbalit vše Re: České třídění v perlu

    Díky moc

    A musim říct, že v glibc jsem chybu opravdu nečekal, nemělo by se to někam bugreportovat? Nebo existuje nějaký důvod proč je to takhle?

    19.10.2012 12:01 tom
    Rozbalit Rozbalit vše Re: České třídění v perlu
    Nebo existuje nějaký důvod proč je to takhle?
    http://www.abclinuxu.cz/poradna/programovani/show/367555#7

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.