Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Primi problemi

  1. #1
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    Primi problemi

    Ciao a tutti,

    sto cercando di seguire la guida di HTML.it su Ruby e ho installato l'editor FreeRIDE ma non riesco a far funzionare i primi esempi.

    Nello specifico credo due classi:

    codice:
    class CarroArmato
       def initialize
           puts "Sono un nuovo carro armato"   
       end
    end
    
    class Camion
       def initialize
           puts "Sono un nuovo camion"   
       end
    end
    e in IRB digito

    codice:
    ca = CarroArmato.new
    come indicato nell'esempio, ma in risposta ricevo

    codice:
    NameError: uninitialized constant CarroArmato
    from (irb):6
    from :0
    Dove sbaglio? Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Nessuno? Eppure dovrebbe essere l'ABC.

    In pratica qualsiasi classe definisca con il semplice costruttore, anche:

    codice:
    class Saluto
       def initialize
           puts "Hello World"   
       end
    end
    Nel momento in cui, in FreeRIDE, nell'interfaccia a linea di comando di IRB digito:

    codice:
    ciao = Saluto.new
    Mi ritrovo con un messaggio di "uninitialized constant NOME_DELLA_CLASSE".

    Sbaglio sicuramente qualche scemata ma avendo appena preso in mano RUBY non riesco a capire dove sia l'errore.

    Grazie ancora.

  3. #3
    Dall'errore sembra che irb non conosca la classe; se hai scritto il codice in un file dovresti richiedere l'utilizzo di quel file prima di poter utilizzare la classe definita al suo interno.

    Se ad esempio hai salvato il codice nel file "carro.rb" in una cartella e lanci irb all'interno della stessa cartella, dovresti digitare qualcosa di simile:

    $ irb
    irb(main):001:0> require 'carro'
    => true
    irb(main):002:0> c = CarroArmato.new
    Sono un nuovo carro armato
    => #<CarroArmato:0x11c10>
    irb(main):003:0>

    Nota che nell'istruzione

    require 'carro'

    carro è il nome del file senza l'estensione ".rb"
    Qualche volta programmo in Ruby on Rails.

  4. #4
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Ah ecco, presumevo potesse trattarsi di un problema di path.

    L'unica cosa è che pensavo che IRB di FreeRIDE lavorasse direttamente sul file aperto.

    Infatti ho specificato che usavo la shell di IRB integrata nell'IDE FreeRIDE.

    Va beh poco male, poi a casa appena riesco faccio delle prove e vi faccio sapere.

    Grazie mille, molto gentile

  5. #5
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Niente da fare, per prima cosa non riesco a capire dove deve mettere i miei file ".rb" rispetto all'eseguibile IRB che si trova in "C:\ruby\bin\"

    Grazie ancora.

  6. #6
    I percorsi con require sono normalmente relativi all'ambiente che esegue il processo.
    Se irb sta in C:\ruby\quALCOSA difficilmente avrai modo di inserirei i file lì dentro e comunque non avrebbe senso.

    Crea una cartella, ad esempio sul desktop.
    Apri una shell (DOS se usi windows) e naviga fino ad arrivare a quella cartella (esempio Documents/cartella).

    cd Documents/cartella

    Dopo di che lancia irb da dentro quella cartella.
    Normalmente l'interprete è in un percorso caricato automaticamente dal sistema.
    In questo caso basta

    irb

    Se non è caricato in automatico devi lanciarlo col percorso completo.

    C:\ruby\...

    Ti ricordo che sei sempre virtualmente nella cartella con il DOS.
    In quel momento il percorso base è Documents/cartella.

    A quel punto, se metti un file dentro a Documents/cartella chiamato carro.rb (quindi raggiungibile a Documents/cartella/carro.rb) allora da irb sarà sufficiente scrivere

    require 'carro.rb'

    Se il file lo metti in Documents/cartella/altracartella/carro.rb

    scriverai

    require 'altracartella/carro'

    e così via.

  7. #7
    Utente di HTML.it L'avatar di Sgurbat
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    ok grazie credo di avercela fatta, inoltre ho trovato questa guida in italiano che sembra ben fatta
    http://stefano.dscnet.org/page/imparando_ruby

    Sicuramente vi romperò i maroni di nuovo a breve, qualcuno che tiene vivo questo forum ci deve pur essere giusto?

    Grazie ancora.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.