Visualizzazione dei risultati da 1 a 6 su 6

Discussione: funzioni template?

  1. #1
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180

    funzioni template?

    dunque...

    mi ritrovo a dover scrivere n funzioni (con n -> infinito) tutte del tipo
    Codice PHP:
    function ottieni_pf($pos) {
        
    $temp $this->testa;
        
    $i 0    ;
        while(
    $temp != null && $i $pos)    
            {
            
    $i++;
            
    $temp $temp->pun;
            }
        if(
    $temp == null)    
            return 
    null;
        return 
    $temp->ottieni_pf();    
    }

    function 
    ottieni_morto($pos) {
        
    $temp $this->testa;
        
    $i 0    ;
        while(
    $temp != null && $i $pos)    
            {
            
    $i++;
            
    $temp $temp->pun;
            }
        if(
    $temp == null)    
            return 
    null;
        return 
    $temp->ottieni_morto();    
    }

    function 
    ottieni_oro($pos) {
        
    $temp $this->testa;
        
    $i 0    ;
        while(
    $temp != null && $i $pos)    
            {
            
    $i++;
            
    $temp $temp->pun;
            }
        if(
    $temp == null)    
            return 
    null;
        return 
    $temp->ottieni_oro();    

    dove ogni volta cambia solo il nome della funzione è l'ultima riga...
    esiste per caso un meccanismo simile al c++ che permette di definire qualcosa simile alle funzioni template??
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  2. #2
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    up
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  3. #3
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    ultimo up
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  4. #4
    Codice PHP:
    function ottieni($pos$cosa) {
        
    $temp $this->testa;
        
    $i 0    ;
        while(
    $temp != null && $i $pos)    
            {
            
    $i++;
            
    $temp $temp->pun;
            }
        if(
    $temp == null)    
            return 
    null;
        
    $funzione "ottieni_{$cosa}";
        return 
    $temp->$funzione();    

    Non puoi risolvere in questo modo?

  5. #5
    altrimenti puoi provare ad usare eval per creare x funzioni, non dovrebbero esserci problemi anche se di sicuro il codice è + lento

    ciao

  6. #6

    Re: funzioni template?

    Originariamente inviato da hfish
    dove ogni volta cambia solo il nome della funzione è l'ultima riga...
    esiste per caso un meccanismo simile al c++ che permette di definire qualcosa simile alle funzioni template??
    Il php le ha di default, visto che la tipizzazione è debole.
    Oltrettutto, visto il $this, si tratta di metodi, con la funzione magica __call() risolvi in 3 nanosecondi.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.