abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:11 | Nová verze

    Byl vydán Nextcloud Hub 8. Představení novinek tohoto open source cloudového řešení také na YouTube. Vypíchnout lze Nextcloud AI Assistant 2.0.

    Ladislav Hagara | Komentářů: 0
    dnes 13:33 | Nová verze

    Vyšlo Pharo 12.0, programovací jazyk a vývojové prostředí s řadou pokročilých vlastností. Krom tradiční nadílky oprav přináší nový systém správy ladících bodů, nový způsob definice tříd, prostor pro objekty, které nemusí procházet GC a mnoho dalšího.

    Pavel Křivánek | Komentářů: 5
    dnes 04:55 | Zajímavý software

    Microsoft zveřejnil na GitHubu zdrojové kódy MS-DOSu 4.0 pod licencí MIT. Ve stejném repozitáři se nacházejí i před lety zveřejněné zdrojové k kódy MS-DOSu 1.25 a 2.0.

    Ladislav Hagara | Komentářů: 31
    včera 17:33 | Nová verze

    Canonical vydal (email, blog, YouTube) Ubuntu 24.04 LTS Noble Numbat. Přehled novinek v poznámkách k vydání a také příspěvcích na blogu: novinky v desktopu a novinky v bezpečnosti. Vydány byly také oficiální deriváty Edubuntu, Kubuntu, Lubuntu, Ubuntu Budgie, Ubuntu Cinnamon, Ubuntu Kylin, Ubuntu MATE, Ubuntu Studio, Ubuntu Unity a Xubuntu. Jedná se o 10. LTS verzi.

    Ladislav Hagara | Komentářů: 13
    včera 14:22 | Komunita

    Na YouTube je k dispozici videozáznam z včerejšího Czech Open Source Policy Forum 2024.

    Ladislav Hagara | Komentářů: 2
    včera 13:22 | Nová verze

    Fossil (Wikipedie) byl vydán ve verzi 2.24. Jedná se o distribuovaný systém správy verzí propojený se správou chyb, wiki stránek a blogů s integrovaným webovým rozhraním. Vše běží z jednoho jediného spustitelného souboru a uloženo je v SQLite databázi.

    Ladislav Hagara | Komentářů: 0
    včera 12:44 | Nová verze

    Byla vydána nová stabilní verze 6.7 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 124. Přehled novinek i s náhledy v příspěvku na blogu. Vypíchnout lze Spořič paměti (Memory Saver) automaticky hibernující karty, které nebyly nějakou dobu používány nebo vylepšené Odběry (Feed Reader).

    Ladislav Hagara | Komentářů: 0
    včera 04:55 | Nová verze

    OpenJS Foundation, oficiální projekt konsorcia Linux Foundation, oznámila vydání verze 22 otevřeného multiplatformního prostředí pro vývoj a běh síťových aplikací napsaných v JavaScriptu Node.js (Wikipedie). V říjnu se verze 22 stane novou aktivní LTS verzí. Podpora je plánována do dubna 2027.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Nová verze

    Byla vydána verze 8.2 open source virtualizační platformy Proxmox VE (Proxmox Virtual Environment, Wikipedie) založené na Debianu. Přehled novinek v poznámkách k vydání a v informačním videu. Zdůrazněn je průvodce migrací hostů z VMware ESXi do Proxmoxu.

    Ladislav Hagara | Komentářů: 0
    včera 04:11 | Nová verze

    R (Wikipedie), programovací jazyk a prostředí určené pro statistickou analýzu dat a jejich grafické zobrazení, bylo vydáno ve verzi 4.4.0. Její kódové jméno je Puppy Cup.

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (74%)
     (9%)
     (2%)
     (16%)
    Celkem 800 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Perl a převod -abc na -a -b -c

    David Watzke avatar 5.5.2006 15:07 David Watzke | skóre: 74 | blog: Blog... | Praha
    Perl a převod -abc na -a -b -c
    Přečteno: 66×
    Ahoj,

    éra stupidních titulků pokračuje ;-) Tentokrát bych potřeboval poradit jak převést string (v proměnný) "-abc" do pole na "-a -b -c"... přemýšlel jsem o cyklu, jenže za prvé nevím jak získat počet znaků v proměnný a za druhý jak z proměnný vypsat jen n-tej znak ... no tohle jsem zatím vymyslel:
    for $no ( 1 .. (počet znaků v proměnný $_) ) {
      push @sopts, $_; # ale $_ donutit tisknout jen $no-tej znak
    }
    Nebo že by se to dalo udělat pomocí regexpu? To ale nevím, nic mě nenapadlo...
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    Odpovědi

    5.5.2006 15:56 myšák | skóre: 26 | blog: EmentuX | Ostrava
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c

    No, není to žádný zázrak, ale mělo by to fungovat:

    #!/usr/bin/perl -w
    
    my @attrib = ();
    my $i = 0;
    
    $attributy = $ARGV[0];
    $attributy =~ s/^\-//;
    
    $length = length($attributy);
    
    while ($i < $length){
       $attrib[$i] = "-" . substr($attributy, $i++, 1);
       print "attrib $i = $attrib[$i]\n";
    }
    

    Odborníky na PERL prosím o shovívavost ... :-)

    Je nesmírně těžké být idiotem, konkurence je obrovská...
    5.5.2006 16:12 Arno3t | skóre: 23 | Uherské Hradiště
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Pokud Ti nevadi opacne poradi, mohlo by byt efektivni toto
    $aaa="-abc";
    while ($aaa) {
    push (@uuu, chop $aaa);
    }
    
    a v poli @uuu mas vsechny znaky z $aaa vcetne podtrzitka v opacnem poradi.
    5.5.2006 16:23 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Nevím, jestli je dobré učit se programovat zrovna na Perlu… ;-) Funkce vracející délku řetezce je length(řetězec). Získání podřetězce z řetězce dělá funkce substr(řetězec, start, kolik). Pomocí regexpu by to šlo také, ale zbytečně složitě a neefektivně.
    David Watzke avatar 5.5.2006 16:56 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Nevím, jestli je dobré učit se programovat zrovna na Perlu… ;-)
    Líbí se mi ;-)
    Funkce vracející délku řetezce je length(řetězec).
    A já vůl zkoušel lenght. Furt se mi to plete :-(

    Všem: díky za odpovědi ;-)

    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.5.2006 17:53 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Nevím, jestli je dobré učit se programovat zrovna na Perlu… ;-)
    Líbí se mi ;-) … A já zkoušel lenght. Furt se mi to plete :-(
    Zkoušel a Perl už IMHO vůbec nejde dohromady :-) Nechci nikoho podceňovat, ale myslím, že nejde metodou pokus–omyl přijít na to, že $_ je implicitní prostor pro vstup, výstup a vyhledávání, $, je výstupní oddělovač polí, @_ jsou parametry podprogramu, %ENV jsou proměnné prostředí atd. atp. Aspoň referenční manuál by to chtělo :-) Taky můžu doporučit knížku Perl pro zelenáče od Pavla Satrapy (a to nejenom pro zelenáče :-) ).

    Mně se Perl taky líbil, ale když jsem se po nějaké době k nějakému skriptu vrátil, zjistil jsem, že Perl je write-only :-) Pak jsem napsal skoroprogram, který obsahoval třeba toto:
    foreach $prom (sort(keys(%{$zdroje{$jmeno}})))
        {
          if ((substr($prom,0,1) eq '') || (substr($prom,0,1) !~ /^\w/i))
          {
            print SPECIALNI "<h3 class='promenna'>$prom</h3>\n";
            $text = $zdroje{$jmeno}{$prom};
    	do {
    	  $REcount = ($text =~ s/\?\{([^}:]*)\}/&_nahraditGlobals($1)/ge);
    	  $REcount += ($text =~ s/\?\{([^}:]*):([^{}]*(?:(?:\$|\*)\{[^{}]*(?:\*\{[^}]*\}[^{}]*)*[^{}]*\}[^{}]*)*[^{}]*)\}/&_nahraditGlobalsParametr($1,$2,$blok)/ge);
    	} while ($REcount > 0);
            $text =~ s/(\$\{[^}:]*\})/<span class='vypisPromenne'>$1<\/span>/g;
            $text =~ s/(\$\{[^}:]*:[^{}]*(?:\*\{[^}]*\}[^}]*)*\})/<span class='vypisPromenne'>$1<\/span>/g;
            print SPECIALNI $text;
          }
          else …
    
    A to byla poslední věc, kterou jsem v Perlu napsal :-)
    5.5.2006 18:00 zabza | skóre: 52 | blog: Nad_sklenkou_cerveneho
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Psát nečitelné programy jde v každém jazyce (i když uznávám, že perl k tomu svádí :-) )
    [ivok@zero ~]$ perl -e 'print join " -", split //, "-abc"; print "\n"'
    - -a -b -c
    
    5.5.2006 18:56 Filip Jirsák | skóre: 68 | blog: Fa & Bi
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Zatímco všechna předchozí řešení byla vlastně přepis klasického Céčkového algoritmu do Perlu, tohle je myslím opravdu Perlovské řešení :-) Krátké na zápis, ale po přečtení usoudím, zda to rozdělí po písmenkách nebo schramstne celý string najednou, snad jen podle toho, že používat split na to, abych dostal celý řetězec, by byla blbost :-)

    Teď už zbývá jen nějak logicky zdůvodnit, proč v Javě, která IMHO vede naopak k tomu psát čitelné programy (ale někteří se úspěšně brání :-) ) se String.split("") chová úplně stejně, a to bez jakékoliv zmínky v dokumentaci. Asi to bude tím, že programátor v Javě neuvidí žádnou výhodu v tom, že může cyklus přepsat do jednoho řádku programu a nenapadne ho zkoušet, jak se rozdělí řetězec, když se má dělit v místě, kde je nic :-)

    Pro Davida: to, co předvedl ivok, je myslím to správné perlovské řešení (přestože Perl se chlubí tím, že každá věc jde napsat mnoha způsoby). Takže pokud se chcete naučet přemýšlet o tom, jak sestavovat algoritmy, Perlu bych se zatím vyhnul. Pokud se naopak chcete naučit přemýšlet jako hacker (v původním smyslu slova), s minimem nástrojů dosahovat maximálních výsledků a nástroje používat ne zrovna obvyklým způsobem (ale přesto elegantně), je Perl ta pravá volba.
    David Watzke avatar 5.5.2006 19:06 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Pokud se naopak chcete naučit přemýšlet jako hacker (v původním smyslu slova), s minimem nástrojů dosahovat maximálních výsledků a nástroje používat ne zrovna obvyklým způsobem (ale přesto elegantně), je Perl ta pravá volba.
    That's what I'm talkin' about, yo ;-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 5.5.2006 19:07 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Díky, tohle je... hustý.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.5.2006 23:04 Jan Martinek | skóre: 43 | blog: johny | Brno
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Já vím, chtěl jsi perl, ale ...
    Takhle je to v Pythonu:
    ['-'+x for x in '-abc'[1:]]
    
    David Watzke avatar 5.5.2006 23:09 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    ;-) I to se bude hodit... ale až časem, až budu Perl guru :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    David Watzke avatar 5.5.2006 18:07 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Stáhnul jsem si seriál o Perlu z LinuxSoftu (verzi pro tisk), na druhý ploše si vždy otevřu Links a gVim :-) a zkoumám; takže jsem to nezjistil metodou pokus omyl. Zkoušel jsem prošmejdit ty články, Google a najít to, ale nic... Btw, hustej program ;-), skoro jako ten Perl / Unix hacker na wikipedii od Larryho :-)
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    5.5.2006 18:22 gat.centrum | skóre: 8
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Ahoj, koukni sem.
    David Watzke avatar 5.5.2006 18:28 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Perl a převod -abc na -a -b -c
    Ten znám :-), ale dík.
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon

    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.