Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Errori di sintassi

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    20

    Errori di sintassi

    codice:
    require 'webui'     
    
    class Webui_project_tree < Webui 
       def initialize ()
          super()         
       end
    
      private 
       
       def function_generate_project_tree
           node_list = array[]         
           i=0
          if defined?(self._project)             
    if(self._project).is_a?(Array))       
                while i<(self._project).length
                  self._project[i].get_info(node_list)    
                  i=+1              
    #       puts '<pre>'; print_r($node_list); echo '</pre>';
                end
          return node_list
       end
    
       def function_webui_project_tree_str
          if (!self.is_cached('interface'.DIRECTORY_SEPARATOR.'webui_project_tree.tpl', status))  
             self.assign('project_tree', self._generate_project_tree())
          end
          return $this->fetch_template('interface'.DIRECTORY_SEPARATOR.'webui_project_tree.tpl', $status, TFALSE, TRUE, -1);
          return self.fetch_template('interface'.DIRECTORY_SEPARATOR.'webui_project_tree.tpl', status, TRUE, FALSE, 0)
       end
    end
    Potete vedere se ci sono errori di sintassi,specialmente con l'uso di self?

    Grazie


    editato dal moderatore

  2. #2
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Per prima cosa dovresti postare il codice usando i tag code, così ci si capisce qualcosa di più. Poi dovresti decidere se è Ruby o PHP.
    Se è Ruby tutto il codice PHP che hai scritto è sbagliato.
    Se è PHP tutto il codice Ruby che hai scritto è sbagliato.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    20
    E' tutto ruby,o almeno spero.
    Perchè dici che è php?

  4. #4
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    $this-> è proprio PHP, e anche concatenare le stringhe usando il punto.
    Anche il metedo che definisci prima come function_generate_project_tree e poi chiami come _generate_project_tree mi fa pensare a una riminiscenza di PHP. Ma qua può essere che mi sbagli.

    Di errori di sintassi (e di errori in genere) ce ne sono parecchi:
    array[] significa invocare il metodo [] sull'oggetto array, che non esiste. Probabilemente volevi scrivere Array[], ma più semplicemente potrebbe essere [] e basta.
    In if(self._project).is_a?(Array)) c'è una parentesi chiusa di troppo.
    i=+1 significa "assegna il valore uno alla variabile i" tu invece volevi dire "incrementa di uno la variabile i" che si scrive i += 1, la sintassi è giusta ma non fa quello che vorresti che facesse. Non è un errore ma in Ruby di solito non si usa while in una situazione del genere, si preferisce usare each.
    Nella funzione function_generate_project_tree apri, nell'ordine, la funzione, due if e un while, però ci sono solo end.
    Nella funzione function_webui_project_tree_str ci sono due return, non è un errore sintattico, ma certamente un errore di qualche genere. Ci sono riferimenti a "status" e "$status", non si capisce granchè ma puzzano di bruciato.

    self puoi QUASI sempre evitare di usarlo, soprattutto NON devi usarlo per chiamare un metodo privato perché è un errore!

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    20
    In effetti sto facendo una traduzione per l'uni da php a ruby,ma nn conosco nessuno dei due,intanto devo farla per forza.Alcune cose,come i this ho dimenticato di tgolierli perchè prima di finire la traduzione volevo capire come stavo procedendo.Detto ciò tu dici che non devo usare i self,intanto se devo accedere a funzioni o dati della classe base come faccio?
    Per quel che riguarda
    node_list = array[]
    volevo semplicemente definire un array,è sbagliato?

    Grazie

  6. #6
    Utente di HTML.it L'avatar di toraz
    Registrato dal
    Nov 2001
    Messaggi
    263
    Originariamente inviato da Dar89
    In effetti sto facendo una traduzione per l'uni da php a ruby,ma nn conosco nessuno dei due,intanto devo farla per forza.
    L'idea di conoscerli, almeno un po', prima di cominciare a ravattare alla belin di cane non ti è venuta?

    Detto ciò tu dici che non devo usare i self,intanto se devo accedere a funzioni o dati della classe base come faccio?
    Se non sai cosa stai facendo usa self, a parte quando chiami un metodo privato.

    Per quel che riguarda
    node_list = array[]
    volevo semplicemente definire un array,è sbagliato?
    node_list = []

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.