J'essaie d'instancier toutes les classes du répertoire scenes et de les ajouter à mon tableau de scènes. Jusqu'à présent, le code semble fonctionner, mais j'ai une étrange erreur rgexp -ct que je ne trouve pas de réponses en ligne. Voici mon codeInstanciation de la classe et push to array Ruby
class Game
@scenes = []
def initialize
Dir[File.dirname(__FILE__)+"/scenes/*.rb"].each do |file|
require_relative file
@scenes << eval("#{file.gsub(".rb", "")}.new()")
end
end
end
Et voici à quoi ressemble une scène dans le répertoire. Je peux les exiger et voir les noms de fichiers très bien.
class Scene99
@number = 99
@text = "This is the first scene."
@next_scene = 0
def initialize
puts "WORKS"
end
end
est ici l'erreur de syntaxe à propos regexp que je reçois, ce n'apparaît que lorsque je tente de lancer le eval (...
/Users/icetimux/projects/death-at-appledore-towers/lib/death-at-appledore-towers/game.rb:8:in `eval': (eval):1: unknown regexp options - ct (SyntaxError)
from /Users/icetimux/projects/death-at-appledore-towers/lib/death-at-appledore-towers/game.rb:8:in `block in initialize'
from /Users/icetimux/projects/death-at-appledore-towers/lib/death-at-appledore-towers/game.rb:6:in `each'
from /Users/icetimux/projects/death-at-appledore-towers/lib/death-at-appledore-towers/game.rb:6:in `initialize'
from death-at-appledore-towers.rb:3:in `new'
from death-at-appledore-towers.rb:3:in `<main>'
'/ scenes/*' peut être le coupable. Le '*' est une option regex invalide. –