Ich bitte den Benutzer, einen Namen für eine neue Klasse einzugeben, die ich erstellen möchte. Mein Code ist:Eine Benutzereingabe erhalten In Ruby
puts "enter the name for a new class that you want to create"
nameofclass = gets.chomp
nameofclass = Class.new
Warum funktioniert das nicht?
Außerdem möchte ich den Benutzer bitten, den Namen einer Methode einzugeben, die ich dieser Klasse hinzufügen möchte. Mein Code ist:
puts "enter the name for a new method that you want to add to that class"
nameofmethod = gets.chomp
nameofclass.class_eval do
def nameofmethod
p "whatever"
end
end
Dies funktioniert auch nicht.
Dank, du hast mir eine Menge –
+1 für klare Erklärung half/-1 für 'eval' empfehlen. – rampion
Ich sollte beachten, dass ich zustimme, dass "eval" im Produktionscode unangenehm ist. Dies scheint jedoch in erster Linie ein sehr experimenteller Fall zu sein; Du würdest niemals so etwas tun wollen. Der Vorteil von 'eval' ist, dass es für einen Anfänger einfach zu verstehen ist, und es eignet sich gut als Einführung in die Meta-Programmierung. – troelskn