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í
×
    včera 16:44 | Nová verze

    Byl vydán Mozilla Firefox 145.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Ukončena byla podpora 32bitového Firefoxu pro Linux. Přidána byla podpora Matrosky. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 145 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Lidé.cz (Wikipedie) jsou zpět jako sociální síť s "ambicí stát se místem pro kultivované debaty a bezpečným online prostředím".

    Ladislav Hagara | Komentářů: 35
    včera 10:33 | Nová verze

    Byla vydána nová verze 4.4 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.

    Ladislav Hagara | Komentářů: 0
    včera 04:00 | IT novinky

    ASUS má v nabídce komplexní řešení pro vývoj a nasazení AI: kompaktní stolní AI superpočítač ASUS Ascent GX10 poháněný superčipem NVIDIA GB10 Grace Blackwell a platformou NVIDIA DGX Spark. S operačním systémem NVIDIA DGX založeném na Ubuntu.

    Ladislav Hagara | Komentářů: 3
    včera 03:11 | Nová verze

    Desktopové prostredie Trinity Desktop vyšlo vo verzii R14.1.5. Je tu opravená chyba v tqt komponente spôsobujúca 100% vyťaženie cpu, dlaždice pre viac monitorov a nemenej dôležité su dizajnové zmeny v podobe ikon, pozadí atď. Pridaná bola podpora distribúcií Debian Trixie, Ubuntu Questing, RHEL 10 a OpenSUSE Leap 16.

    lukve | Komentářů: 8
    10.11. 22:11 | Nová verze

    Grafická aplikace Easy Effects (Flathub), původně PulseEffects, umožňující snadno povolovat a zakazovat různé audio efekty v aplikacích používajících multimediální server PipeWire, byla vydána ve verzi 8.0.0. Místo GTK 4 je nově postavená nad Qt, QML a Kirigami.

    Ladislav Hagara | Komentářů: 0
    10.11. 12:22 | Komunita

    Na YouTube lze zhlédnout Godot Engine – 2025 Showreel s ukázkami toho nejlepšího letos vytvořeného v multiplatformním open source herním enginu Godot.

    Ladislav Hagara | Komentářů: 0
    10.11. 10:00 | Humor

    Blíží se konec roku a tím i všemožná vyhlášení slov roku 2025. Dle Collins English Dictionary je slovem roku vibe coding, dle Dictionary.com je to 6-7, …

    Ladislav Hagara | Komentářů: 6
    10.11. 09:55 | IT novinky

    Cloudflare Radar: podíl Linuxu na desktopu dosáhl v listopadu 6,2 %.

    Ladislav Hagara | Komentářů: 4
    9.11. 19:22 | Pozvánky

    Chcete vědět, co se odehrálo ve světě techniky za poslední měsíc? Nebo si popovídat o tom, co zrovna bastlíte? Pak doražte na listopadovou Virtuální Bastlírnu s mikrofonem a kamerou, nalijte si něco k pití a ponořte se s strahovskými bastlíři do diskuze u virtuálního piva o technice i všem možném okolo. Mezi nejvýznamnější novinky patří Průšovo oznámení Core One L, zavedení RFID na filamentech, tisk silikonu nebo nový slicer. Dozvíte se ale i

    … více »
    bkralik | Komentářů: 6
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (47%)
     (18%)
     (17%)
     (23%)
     (15%)
     (22%)
     (16%)
     (16%)
    Celkem 341 hlasů
     Komentářů: 15, poslední 2.11. 08:25
    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: 112×
    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: 67 | 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: 67 | 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: 67 | 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.