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 04:22 | Nová verze

    SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.

    Ladislav Hagara | Komentářů: 1
    dnes 03:11 | Zajímavý projekt

    Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační

    … více »
    NUKE GAZA! 🎆 | Komentářů: 0
    včera 15:33 | Humor

    PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují

    … více »
    NUKE GAZA! 🎆 | Komentářů: 2
    včera 14:33 | Nová verze Ladislav Hagara | Komentářů: 0
    včera 12:33 | Zajímavý projekt

    FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.

    NUKE GAZA! 🎆 | Komentářů: 4
    14.3. 22:55 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.

    Ladislav Hagara | Komentářů: 1
    14.3. 21:33 | Nová verze

    Projekt Debian aktualizoval obrazy stabilní větve „Trixie“ (13.4). Shrnuje opravy za poslední dva měsíce, 111 aktualizovaných balíčků a 67 bezpečnostních hlášení. Opravy se týkají mj. chyb v glibc nebo webovém serveru Apache.

    |🇵🇸 | Komentářů: 2
    14.3. 13:00 | Humor

    Agent umělé inteligence Claude Opus ignoroval uživatelovu odpověď 'ne' na dotaz, zda má implementovat změny kódu, a přesto se pokusil změny provést. Agent si odpověď 'ne' vysvětlil následovně: Uživatel na mou otázku 'Mám to implementovat?' odpověděl 'ne' - ale když se podívám na kontext, myslím, že tím 'ne' odpovídá na to, abych žádal o svolení, tedy myslí 'prostě to udělej, přestaň se ptát'.

    NUKE GAZA! 🎆 | Komentářů: 12
    14.3. 00:44 | IT novinky

    Po 8. květnu 2026 už na Instagramu nebudou podporované zprávy opatřené koncovým šifrováním. V chatech, kterých se bude změna týkat, se objeví pokyny o tom, jak si média nebo zprávy z nich stáhnout, pokud si je chcete ponechat.

    Ladislav Hagara | Komentářů: 7
    14.3. 00:33 | IT novinky

    V lednu byla ve veřejné betě obnovena sociální síť Digg (Wikipedie). Dnes bylo oznámeno její ukončení (Hard Reset). Společnost Digg propouští velkou část týmu a přiznává, že se nepodařilo najít správné místo na trhu. Důvody jsou masivní problém s boty a silná konkurence. Společnost Digg nekončí, malý tým pokračuje v práci na zcela novém přístupu. Cílem je vybudovat platformu, kde lze důvěřovat obsahu i lidem za ním. Od dubna se do Diggu na plný úvazek vrací Kevin Rose, zakladatel Diggu z roku 2004.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (16%)
     (7%)
     (0%)
     (11%)
     (29%)
     (2%)
     (5%)
     (1%)
     (13%)
     (24%)
    Celkem 1088 hlasů
     Komentářů: 26, poslední 12.3. 08:56
    Rozcestník

    Dotaz: volání metody v jiné třídě

    11.1.2016 12:59 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    volání metody v jiné třídě
    Přečteno: 353×
    Dobrý den

    řeším takový problémek, snad ho popíšu srozumitelně ..

    mám dvě nazávislé třídy, jedna definuje (modifikuje) chování druhé pro pozdejsi pouziti ...
    class vytvor {
    
      function __constructor( funkce ){
        this->_funkce = funkce;
      }
    
      function udelej(a){
        return $this->funkce( a );
      }
    }
    
    
    class poroucej {
      
      function na_druhou(a){
        return a*a;
      }
    
      function zaloz( $funkce ) {
        this->robot = new vytvor( $this->{$funkce} );
      }
    
      function zpracuj( array $data ){
        foreach( $data as $udaj ){
          $this->robot->udelej( $udaj );
        }
      }
    }
    
    $udaje = array( 2, 5, 30, 25 );
    $hlavni= new poroucej( "na_druhou" );
    echo $hlavni->zpracuj( $udaje );
    
    je to jen nástin, snad pochopitelny ... jde mi o to, zda lze předat funkci ( nebo tady metodu ) jako parametr, která se de fakto stane metodou jiné třídy.

    předem díky ..

    Řešení dotazu:


    Odpovědi

    11.1.2016 13:39 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: volání metody v jiné třídě
    Teď si uvědomuji, že ten nadpis je nepřesný .. jde o předání odkazu na metodu v jiné třídě
    11.1.2016 14:22 Radek
    Rozbalit Rozbalit vše Re: volání metody v jiné třídě
    skus hleada "pointer to function php"

    http://stackoverflow.com/questions/6475136/pass-a-function-by-reference-in-php
    http://stackoverflow.com/questions/12690820/how-to-pass-a-pointer-to-a-function-and-its-parameters-in-php

    function doIt ($fn) {
    echo "doIt\n";
    return $fn();
    }

    function doMe () {
    echo "doMe\n";
    }

    // I am using a closure here.
    // There may be a more clever way to "get the function-object" representing a given
    // named function, but I do not know what it is. Again, I *don't use PHP* :-) (nepoužívá PHP)
    echo doIt(function () { doMe(); });

    Kód je okopírován z jednoho odkazu výše

    Princip je jednoduchý funkce je uložená někde v pamětí, tedy je uložená na nějaké adrese. Tuto adresu si ulož do proměnné, a následně tuto proměnou můžeš volat jako funkci. (pokud má proměnná správný typ). (pro přetypování hledej retyping php)
    11.1.2016 14:27 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: volání metody v jiné třídě
    správně by mělo být echo doIt( 'doMe' };

    mně šlo ale o předání 'pointeru' na metodu v objektu .. viz níže ..

    každopádně děkuji za snahu
    Řešení 1× (Milan Uhrák (tazatel))
    11.1.2016 14:22 Milan Uhrák | skóre: 31 | blog: milan_at_ABC
    Rozbalit Rozbalit vše Re: volání metody v jiné třídě
    Tak nic, když jsem správně pojmenoval problém, našel jsem i řešení

    volání má být this->robot = new vytvor( array($this, $funkce} );

    a udelej musi byt ošetřeno
      function udelej(a){
        $funkce = $this->$funkce;
        return $funkce[0]->$funkce[1]( a );
      }
    
    plus nějaké to odchycení chyb ..

    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.