Herausforderung
Erstellen Sie eine neue Datei und schreiben Sie die Zeichenfolge hinein Hello World
.
Beschränkungen
Ihre Herausforderung muss in eine Datei auf der Festplatte im Dateisystem geschrieben werden.
Die Datei ist möglicherweise keine Protokolldatei, die während des normalen Betriebs des Interpreters generiert wird.
Die Datei darf nur die Zeichenfolge enthalten
Hello World
. Es darf einen nachgestellten Zeilenumbruch oder ein minimales Leerzeichen enthalten. Kein anderer Inhalt.Keine Befehlszeilen-Flags / Pipes (usw.) zulässig, außer wenn dies zum Ausführen des Programms erforderlich ist. (zB
perl -p
)
Anmerkungen
Dies ist Code-Golf , also gewinnt das kürzeste Programm in Bytes.
Folgen Sie dem Geist, nicht dem Buchstaben, der Regeln.
code-golf
kolmogorov-complexity
hello-world
file-system
dkudriavtsev
quelle
quelle
Antworten:
Pyth, 14 Bytes
Ausgaben in eine aufgerufene Datei
o.txt
.quelle
Python 2, 32 Bytes
Ja, dies ist eine gültige Python .
quelle
*
ein iterable in einzelne Argumente in einer Funktion aufspalten, soopen(*"ww")
wirdopen("w","w")
.*"ww"
Trick nicht gegeben hätte, hätten Sie ihn mit der anderen Python-Antwort hier verknüpft, dieopen(...).write(...)
stattdessen für dieselbe Byteanzahl verwendet wirdHaskell, 25 Bytes
quelle
zsh, 17 Bytes
Ausgaben in eine aufgerufene Datei
x
.quelle
>
als Pfeife interpretieren ?>Hello\ World
Ruby, 26 Bytes
Schreibt in eine Datei
f
.quelle
Stapel, 18 Bytes
quelle
@
, oder benennen Sie diese als (Konsole) um.@
ist nicht nötig.@
, da der Befehl auch sonst gedruckt wird. Das bedeutet, dass Sie zwei Möglichkeiten haben: 1) Löschen Sie diese Antwort, da es sich um eine Betrogene handelt. 2) Neu kennzeichnen als (Konsole).Vim, 15 + 2 == 17 Bytes
+2 Bytes zum Starten mit
vim f
stattvim
. Darüber hinaus funktioniert diese Version für:Wenn das Starten von vim wie diesem nicht zulässig ist, gibt es auch:
Vim, 18 Bytes
Randnotiz: Dies ist ein Polyglot. Das gleiche funktioniert in V, außer dass es ein Byte kürzer ist (da das
<cr>
am Ende implizit ist.)quelle
<cr>
(eine Mnemonik für "enter", ein einzelnes Byte) ist erforderlich, um den Befehl auszuführen. Befehle, die mit einem Doppelpunkt beginnen, ähneln einer Mini-Shell in vim, und der Befehl:w
ist der Befehl zum Schreiben in eine Datei.<esc>
nicht als 5 Bytes und<cr>
als 4 gezählt werden, da sie vollständig eingegeben werden müssen?<esc>
ist nur eine Notation für "The Escape Key", was ist0x1B
, und<cr>
ist eine Notation für "The Carriage Return Key", die ist0x0B
<C-v>
ein Literal-Escape-Zeichen und einen Literal-Wagenrücklauf einfügen, können Sie alle diese Striche einem Makro zuweisen und auf diese Weise ausführen. Sie können dies auch in Vimscript tun, mitnormal 'iHello World^[:w f^M
dem Vim es anzeigt und nicht wie Sie es eingeben.^[
und^M
sind beide ein Byte.Stapel, 19 Bytes
quelle
C, 44 Bytes
quelle
#include <stdio.h>
PowerShell, 15 Bytes
>
Leitet die Zeichenfolge in eine Datei um, dieo
im aktuellen Verzeichnis aufgerufen wird .quelle
Dyalog APL , 19 Bytes
Erstellt eine Datei mit dem Namen und Inhalt "Hello World".
quelle
ed, 19 Zeichen
Probelauf:
quelle
MATL , 15 Bytes
Dadurch wird eine Datei mit dem Namen erstellt
inout
und die Zeichenfolge in diese Datei geschrieben .quelle
K, 20 Bytes
Bestätigung;
quelle
Clojure, 23 Bytes
Anonyme Funktion, die eine aufgerufene Datei erstellt
x
und dort schreibtHello World
.quelle
Node.js, 42 Bytes
Ich denke nicht, dass dies einer Erklärung bedarf
Node.js REPL, 31 Bytes
Aus irgendeinem Grund müssen Sie in repl nicht angeben
fs
quelle
require("fs").writeFile("o","Hello World")
. Andernfalls ist fs nicht enthalten.C #,
937776 Bytesusing System.IO;namespace N{class C{static void M(){File.WriteAllText("f", "Hello World");}}}
class C{static void Main(){System.IO.File.WriteAllText("f", "Hello World");}}
Sehen Sie , wie es funktioniert , mit Ausnahme des nicht autorisierten Dateizugriffs.
Änderungsprotokoll
Rev2
using
Richtlinie (dank Jean Lourenço )Rev3
C # (ohne Boilerplate), 47 Bytes
quelle
R,
383635 BytesMir gefällt, wie die erstellte Datei keinen Namen hat! Es ist eigentlich
alles!.txt
-2 Bytes dank @PEAR Bemerkung!
-1 Bytes dank @BartvanNierop!
Dieser Code erzeugt eine Datei ohne Namen.
quelle
"a"
?Bash, 18 Bytes
quelle
Python, 34 Bytes
Ausgaben in eine aufgerufene Datei
h
.quelle
APLX , 15 Bytes
Erstellt eine APL-Komponentendatei, die nur eine Komponente enthält. die gewünschte Zeichenfolge. Es kann zurückgelesen werden mit:
quelle
Gema, 28 Zeichen
Probelauf:
quelle
Schläger, 43 Bytes
quelle
Julia, 47 Bytes
Ich habe es versucht
writedlm
, aber es hat nicht geklappt.quelle
C 37 Bytes
quelle
Perl 6 ,
2723 Bytesquelle
Java 7,
10095 BytesOder wenn Sie den Writer nach seiner Verwendung schließen möchten ( 101 Byte ):
Ungolfed:
Verwendung:
quelle
void f()throws Exception{new java.io.PrintWriter("x").print("Hello World");}
java.io.Writer p=new java.io.PrintWriter
spart Ihnen einige weitere Zeichen.eacal , 26 Bytes
Dieser
write
sastring
Hello World
zu Dateia
, es falls nicht vorhanden zu schaffen. Grundsätzlich:und
Führen Sie das Programm aus als:
quelle
J, 21 Bytes
Dies schreibt in eine Datei
o
im aktuellen Verzeichnis oder, falls nicht aus einer Datei aufgerufen, in Ihrej64-804
Datei.1!:3
ist der Schreibfremd und<'o'
ist der umrahmte Dateiname (Dateinamen müssen eingerahmt sein). Die LHS ist die zu schreibende Zeichenfolge.quelle
JavaScript, 89 Bytes
Dieser Code wurde in Chrome getestet. In anderen Browsern muss sich das Element im Dokument befinden, damit die Klickmethode funktioniert.
quelle