donc j'essaie d'écrire un programme de minuteur simple dans ruby. J'ai défini mes méthodes dans une classe "Timer" mais quand je les appelle, cela me donne un NoMethodError. Des idées pourquoi? Merci pour l'aide.Créer une méthode dans une classe et l'utiliser dans Ruby
require "Time"
class Timer
def start
$a = Time.now
end
def stop
Time.now - $a
end
end
puts "Type in 'Start'to to start the timer and then type 'Stop' to stop it"
s = gets.start
st = gets.stop
puts st
Est-ce que "$" ne crée pas de variable d'instance? Je pourrais avoir juré "@" fait un mondial. Et comment créer une "instance de minuterie"? vous devriez également noter que je suis un débutant complet, donc si je sonne comme l'un de ses causes je suis :) –
@bipolarpants: Vous l'avez en arrière. '@ foo' est une variable d'instance,' $ foo' est un global. Et ne vous inquiétez pas d'être nouveau - tout le monde est à un moment ou un autre. – Chuck
oh ok cool, merci. Maintenant je l'ai eu pour travailler mais j'ai dû créer une méthode dans la classe String "class String def to_t Timer.new end" puis l'ajouter à "s = gets.to_t.start" comme ça. Y a-t-il un moyen de contourner cela? –