Ich versuche, eine JSON-Datei zu erstellen und zu schreiben.Ruby: Warum kann ich keine neue Datei erstellen?
Mein Code sieht wie folgt aus:
def save_as_json(object)
f = File.new('file.json')
f.puts(object.to_json, 'w')
f.close
end
save_as_json({'name'=>'fred'})
Das Problem ist, erhalte ich die folgende Fehlermeldung, wenn ich es laufen:
:15:in `initialize': No such file or directory @ rb_sysopen - file.json (Errno::ENOENT)
Ich frage Rubin die Datei zu erstellen, aber es beschwert dass es nicht existiert! Was ist der richtige Weg, um eine Datei zu erstellen und in sie zu schreiben?
Ohne einen Block File.open ist das gleiche wie File.new. http://ruby-doc.org/core-2.3.0/File.html#method-c-open – kirlev
Wow, du hast Recht, ich hätte das wissen müssen. Ich werde meine Antwort ändern, um das zu reflektieren. Entschuldigung ... –
Beachten Sie, dass es bei einem Aufruf, der so trivial wie File.write ist, nicht mehr notwendig ist, eine separate Wrapper-Methode dafür zu schreiben. –