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 03:44 | IT novinky

    Společnost Fairphone stojící za stejnojmennými mobilními telefony představila (pdf) bezdrátová špuntová sluchátka Fairbuds 2. Opravitelná, s vyměnitelnými bateriemi a tříletou zárukou. Cena 119 eur.

    Ladislav Hagara | Komentářů: 0
    dnes 03:33 | Pozvánky

    O víkendu 17. a 18. října lze na brněnském výstavišti navštívit s jednou vstupenkou dvě akce: Maker Faire Brno, festival inovací, kreativity a kutilství, a GameDev Connect, akci určenou pro všechny současné a hlavně budoucí herní vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 20:33 | Nová verze

    Canonical vydal (email) Ubuntu 26.10 Stonking Stingray. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2027.

    Ladislav Hagara | Komentářů: 2
    včera 16:44 | IT novinky

    České Radiokomunikace (CRA) ve čtvrtek odstřelily rozhlasový vysílač Liblice B, dosud nejvyšší stavbu v Česku. O demolici dvou 355 metrů vysokých stožárů rozhodly z důvodu jejich nevyužívání, už v úterý přitom zhasly a demontovaly jejich osvětlení.

    Ladislav Hagara | Komentářů: 11
    včera 02:44 | IT novinky

    Microsoft Defender nově podporuje linuxové desktopy.

    Ladislav Hagara | Komentářů: 6
    14.10. 21:00 | Komunita

    Oficiální Epic Games Launcher je v nové preview verzi poprvé dostupný i pro Linux (FAQ). Pracuje se na novém Easy Anti-Cheatu pro Linux (EAC Linux v2) a podpoře hry Fortnite na Linuxu.

    Ladislav Hagara | Komentářů: 6
    14.10. 13:44 | Nová verze

    Desktopové prostředí KDE Plasma bylo vydáno ve verzi 6.8. Novinky zahrnují lepší podporu vzdálené plochy, sdílení a nahrávání obrazovky a řadu drobností napříč uživatelským rozhraním (úplný seznam změn, shrnutí ve wiki).

    ʚĭɞ 🍉 | Komentářů: 32
    14.10. 10:55 | IT novinky

    Apple představil 7palcový displej Apple HomeView s podporou Apple Intelligence a Siri AI pro ovládání chytré domácnosti, novou řadu vybavení chytré domácnosti Apple Home Collection, další generaci HomePodu mini a novou Apple TV 4K. Apple HomeView není v Evropské unii v prodeji, jelikož umělá inteligence Siri v rámci systému iOS v EU momentálně není k dispozici. Apple spolupracuje s EU a snaží se najít cestu, jak situaci vyřešit.

    Ladislav Hagara | Komentářů: 6
    14.10. 03:55 | Komunita

    KDE slaví 30 let. Přesně před 30 lety, 14. října 1996, poslal Matthias Ettrich do diskusní skupiny comp.os.linux.misc zprávu, která započala historii projektu KDE. Důležité milníky jsou zobrazeny na časové ose.

    Ladislav Hagara | Komentářů: 3
    14.10. 03:22 | Nová verze

    Byl vydán Mozilla Firefox 158.0. Stejně jako Chrome 155 s podporou JPEG XL (test). Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 158 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (9%)
     (7%)
     (4%)
     (21%)
     (29%)
     (8%)
     (5%)
     (2%)
     (14%)
     (20%)
    Celkem 2849 hlasů
     Komentářů: 32, poslední 11.10. 17:02
    Rozcestník

    Dotaz: Perl a konverze kontextu pole->seznam

    29.5.2007 19:27 amnesiac
    Perl a konverze kontextu pole->seznam
    Přečteno: 421×
    Zdravim.

    Sorry za zacatecnicky dotaz, ale nemuzu prijit na to jak primo vytisknout hodnotu prvku pole vraceneho podprogramem. Nasledujici kod by mel vytisknout 4.

    perl -wle 'print ${&mysub}[1][1];sub mysub { my @x = [[1,2],[3,4]]; return @x;}'
    Use of uninitialized value in print at -e line 1.
    

    Pritom pokud to pole vratim primo, nejak dojde ke konverzi na seznam a hodnota se vypise spravne:

    perl -wle 'print ${&mysub}[1][1];sub mysub { return [[1,2],[3,4]];}'
    4
    
    Mohl by to nekdo logicky vysvelit ?

    Dik.

    Odpovědi

    29.5.2007 20:13 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    perl -wle 'print ${&mysub}[1][1];sub mysub { print "want scalar\n" unless wantarray; return [[1,2],[3,4]];}'
    want scalar
    4
    
    v skalárnom kontexte sa @x vyhodnotí ako 1
    29.5.2007 23:26 amnesiac
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    Ok, dik. Jak ale vynutit, aby se v print volalo mysub v seznamovem kontextu ? Jinymi slovy jak prevest nasledujici konstrukci do jedineho volani print bez nutnosti ukladat do pomocneho pole ?

    @array = &mysub;
    print $pole[1][1];
    
    sub mysub () {
      @x = ( [1, 2], [3, 4] );
      
      return @x;
    }
    
    Povedlo se mi to pres vraceni skalaru - reference na pole, ale to asi nebude to prave orechove :(

    print ${mysub}[1][1];
    
    sub mysub () {
      @x = ( [1, 2], [3, 4] );
      
      return \@x;
    }
    
    30.5.2007 08:22 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    print [ &mysub ]->[0][1][1];
    print ((&mysub)[0]->[1][1]);
    
    30.5.2007 10:41 amnesiac
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    Jj, diky.

    Ta prvni konstrukce pres anonymni pole me mela napadnout. Je tam kvuli tomu nejaka rezie navic (vytv. pole) ?

    Tu druhou jsem priznavam zatim nepochopil :-( Vnitrni zavorky kolem &mysub zrejme navozuji seznamovy kontext, ale pritomnost tech vnejsich mi stale unika.

    30.5.2007 11:03 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    nie ste sám, v kom ten druhý príklad vzbudzuje nezodpovedané otázky :-) (mňa osobne trápi, prečo tam musí byť operátor ->)
    30.5.2007 13:30 amnesiac
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    Ten operator -> tam IMHO ma logiku, protoze mysub vraci pole odkazu na pole. Ekvivalentni zapis pro dereferenci by pak byl:

    print (${(&mysub)[1]}[1]);
    
    versus puvodni
    
    print ((&mysub)[1]->[1]);

    Vrta mi hlavou, jak jste mi mohl spravne odpovedet a pritom tomu sam nerozumite ;-)

    30.5.2007 14:04 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    logiku tam samozrejme má, ale je tu jedno ale: -> sa môže medzi zátvorkami vynechávať.
    $x->[0][0]; vs. $x->[0]->[0];
    evidentne som niektorú kapitolu preskočil :-)

    ako? jednoducho, zapísal som ako by som si to predstavoval a potom ošetroval syntax error :-D

    30.5.2007 14:30 Hynek (Pichi) Vychodil | skóre: 43 | blog: Pichi | Brno
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    Je to jedna z perlových syntaktických ne konzistencí. V tom výrazu musí být to -> uvedeno nejméně jednou a ty další se mohou vynechat, protože jinak než odkazem to být nemůže. Proč? Zeptej se Larryho :-(
    XML je zbytečný, pomalý, nešikovný balast, znovu vynalézané kolo a ještě ke všemu šišaté, těžké a kýčovitě pomalované.
    30.5.2007 14:44 happy barney | skóre: 34 | blog: dont_worry_be_happy
    Rozbalit Rozbalit vše Re: Perl a konverze kontextu pole->seznam
    aha, takto povedané mi to dáva zmysel. dík.

    Založit nové vlákno • Nahoru

    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.