Mein Programm soll empfangenen Beispielcode ausführen und die Ergebnisse dann in neuer Datei speichern. Wenn das Ergebnis des ausgeführten Beispielcodes eine Zahl ist, funktioniert es, aber wenn es sich um eine Zeichenfolge handelt, wird das Ergebnis nicht in der Datei gespeichert (es wird eine neue Datei erstellt, der Inhalt ist jedoch leer).Ergebnisse in Datei in Ruby speichern
Wie man es macht, um alle Arten zu speichern?
class ExecuteProgram
# opens recieved code and saves it to a variable
@code = File.open("files/prog.rb", "r"){ |file| file.read }
# executes recieved code
@number = eval(@code)
# saves result to file
def self.save_code(filename="result.rb")
directory_name = "result"
Dir.mkdir(directory_name) unless File.exists?(directory_name)
file = File.new(directory_name + "/" + filename, "w")
file.puts(@number)
file.close
puts @number
end
ExecuteProgram.save_code("result.rb")
end
Thanks :)
sieht nicht so aus Es sollte ein Problem mit Strings haben. Können Sie auch den Code teilen, der die Zeichenfolge nicht erzeugt? – ndn
Nein, kann nicht sein, dass Saiten dieses Problem hier verursachen. –
Das Ziel des Programms ist, jeden Code auszuführen, den es erhalten wird, also habe ich versucht, anderen Code, komplizierter oder einfach zu setzen, der Summe von Zahlen oder Schnur zurückgibt. Beispiel Inhalt von prog.rb: print "Hallo Welt" –