Schreiben Sie das kürzeste Programm, das eine Eingabe (n) von STDIN (oder einer Entsprechung) nimmt und eine einfache Inkrementierungsfunktion mit einem Argument (x) ausgibt, das x + n zurückgibt, die Funktion muss jedoch in einer anderen Sprache vorliegen. Ziemlich einfach!
Dies ist Code-Golf, es gelten die normalen Regeln, die kürzesten Programmgewinne.
Beispiel:> <> zu Python (Ungolfed)
!v"def i(x):"a" return x+"ir!
>l?!;o
Eingang:
3
Ausgabe:
def i(x):
return x+3
EDIT: Anonyme Funktionen und Lambda-Ausdrücke sind erlaubt!
function BUT
, die wir schreiben sollen. -_-Antworten:
GS2 → K, 2 Bytes
Dies gibt eine implizite, monadische Funktion aus. Der Quellcode verwendet die CP437- Codierung. Probieren Sie es online!
Testlauf
Wie es funktioniert
GS2
GS2 liest automatisch von STDIN und schiebt die Eingabe auf den Stapel.
•
Gibt an, dass das nächste Byte ein Singleton-Zeichenfolgenliteral ist.Vor dem Beenden druckt GS2 alle Stapelobjekte.
K
Das Curry des linken Arguments erfolgt automatisch in K.
Hier wird
n+
die dyadische Funktion+
in eine monadische Funktion umgewandelt, indem das linke Argument auf gesetzt wirdn
.quelle
ShapeScript → J, 4 Bytes
Dies gibt ein stillschweigendes, monadisches Verb aus. Probieren Sie es online aus: ShapeScript , J
Testlauf
Wie es funktioniert
ShapeScript
ShapeScript liest automatisch aus STDIN und überträgt die Eingabe auf den Stapel.
"&+"
schiebt die Saite auf den Stapel.Vor dem Beenden druckt ShapeScript alle Stapelelemente.
J
&
führt Argumente aus.Hier wird
n&+
das dyadische Verb+
in ein monadisches Verb umgewandelt, indem das linke Argument auf gesetzt wirdn
.quelle
GolfScript → CJam, 4 Bytes
Dies druckt einen Codeblock (anonyme Funktion). Probieren Sie es online aus: GolfScript , CJam
Testlauf
Wie es funktioniert
GolfScript
GolfScript liest automatisch aus STDIN und schiebt die Eingabe auf den Stapel.
{+}
schiebt diesen Block auf den Stapel.+
Führt eine Verkettung durch, die eine Zeichenfolge und einen Block glücklich verkettet.Vor dem Beenden druckt GolfScript alle Stapelelemente.
CJam
{n +}
ist ein Codeblock, der bei seiner Ausführung zuerstn
auf den Stapel drückt und dann ausführt. Dabei+
werden zwei Ganzzahlen aus dem Stapel gezogen und ihre Summe gedrückt.quelle
{n +}
drückt42
, führt dann aus+
. (Sollte wahrscheinlich sein{42 +}
oder "stößtn
")BrainF *** auf JavaScript ES6, 57 Bytes
(Angenommen, die Eingabe besteht aus numerischen Zeichen.)
Sprich
1337
ist dein Input. Dann würde dies kompilieren, um:quelle
Rotor zu K, 2 Bytes
Könnte auch in den K-Zug einsteigen.
quelle
O bis K, 5 Bytes
Vielen Dank an @ kirbyfan64sos
Eine weitere Version mit Funktionen, die hinzugefügt wurden, nachdem die Herausforderung erstellt wurde.
quelle
i'++p
.R bis Julia, 19 Bytes
Dies liest eine Ganzzahl aus STDIN mit
scan()
und schreibt eine unbenannte Julia-Funktion mit in STDOUTcat()
. Die Julia-Funktion ist einfachx->x+n
, wohern
das R-Programm kommt.quelle
Malbolge zu JavaScript ES6, 71 Bytes
Es macht immer Spaß, Malbolge-Code zu generieren.
quelle
Minecraft 1.8.7 bis K,
76 + 33 + 27 + 62 =129128 BytesDies verwendet diese Version der Bytezählung .
Befehlsblöcke (von links nach rechts):
Dies könnte wahrscheinlich ein bisschen mehr Golf gespielt werden, aber es ist ziemlich einfach: Erzeugen Sie eine Variable
J
mit dem ZielK
und setzen Sie die Punktzahl für dieses Ziel auf die Eingabe (es gibt kein STDIN - ich dachte, das wäre nah genug). Geben Sie dann nach einem Häkchen die Punktzahl der VariablenJ
für das Ziel aus,K
gefolgt von a+
. Kinderleicht.quelle
extra
, die Partitur JSON in ein Array platzieren und eine Zeichenfolge danach platzieren?tellraw @a [{score:{name:"J",objective:"K"}},"+"]
Ernsthaft zu Python, 15 Bytes
,"lambda n:n+"+
Erwartet, dass die Eingabe in String-Form erfolgt, d. H
"3"
Erläuterung:
Probieren Sie es online aus (Sie müssen die Eingabe manuell eingeben, da die Permalinks keine Anführungszeichen mögen)
quelle
Mathematica zu C #, 22 Bytes
Gibt ein C # -Formular
Func<int, int>
ausquelle
rs -> K, 2 Bytes
Live-Demo.
quelle
Pyth zu APL,
75 BytesDer Pyth-Code verkettet einfach die Eingabe (
z
) mit der Zeichenfolge"--"
. Dadurch wird in APL ein unbenannter monadischer Zug mit der Form erstelltn--
,n
die von Pyth stammt. Beim Aufruf in APL wird(n--)x
für einige Argumentex
gerechnetn--x = n-(-x) = n+x
.Versuchen Sie: Pyth , APL
2 Bytes gespart dank Dennis!
quelle
> <> zu Python, 25 + 3 = 28 Bytes
Übernimmt Eingaben über die
-v
Flagge, zund gibt ein Python-Lambda aus, z
lambda x:x+27
.Als Bonus gibt es hier eine STDIN-Eingabeversion für 30 Bytes:
quelle
Maus zu Ruby, 19 Bytes
Ungolfed:
Dadurch wird eine unbenannte Ruby-Funktion des Formulars erstellt,
->x{x+n}
dasn
von der Maus stammt.quelle
Haskell zu Mathematica, 14 Bytes
quelle
Brainfuck zu Java, 273
Gibt eine Methode wie
int d(int i){return i+42;}
(die nicht wie eine Java-Methode aussieht , aber ... Java!) Aus.quelle
public static int method(int argument){return argument+42;}
public static
, machst du eigentlich kein Java. Wäreargument
auch besser benanntsummand
;-). )public static void main(String[] arguments){}
PHP → JavaScript (ES6), 20 bis
24BytesDas Lesen von STDIN ist in PHP immer teuer. Es sieht ein bisschen seltsam aus:
Es druckt
x=>x+
und wartet auf Benutzereingaben, um die Zeichenfolge zu vervollständigen, endet mit der vollständigen anonymen JavaScript-Funktion, zx=>x+2
.Erste Version (24 Bytes )
quelle
x=>x+<?=$x;
? Es ist gültiges PHP4.1 und Sie können die Werte über POST, GET, SESSION, COOKIE, ... übergeben, und es wird einwandfrei funktionieren. Oder auf PHP5.3 mitregister_globals=on
(auf Ihrerphp.ini
Datei).STDIN
. Jedes Mal habe ich ignoriert, dass es kritisiert wurde. Daher nehme ich Anforderungen jetzt ernst. :)GET
ist vorbeiSTDIN
. Ich kann es in einer Weile testen.Pyth -> K, 4 Bytes
K ist hier wirklich leicht zu missbrauchen ...
Live-Demo.
quelle
Python 2 bis CJam,
18 bis20 BytesVielen Dank an LegionMammal978 für die Korrektur der Funktionalität.
Das Python macht ein grundlegendes Zeichenkettenformat.
%f
ist der Code für einen Float, und da ich keine Bytes für den Umgang mit Floats verlieren würde, ging ich voran und tat es.Der CJam ist ähnlich wie die Golfscript-> CJam-Antwort. Es sieht ungefähr so aus:
oder:
Es ist ein Block, der den höchsten Wert vom Stapel nimmt, die spezielle Zahl drückt und sie dann addiert.
quelle
POSIX-Shell zu Haskell, 19 Bytes
Da anonyme Funktionen zulässig sind, ist Haskell eine gute Wahl für die Ausgabe in den Operatorbereichen.
quelle
Retina zu Pip , 4 Bytes
Verwendet eine Datei für jede dieser Zeilen + 1 Strafbyte; Oder setzen Sie beide Zeilen in eine einzelne Datei und verwenden Sie das
-s
Flag.Stimmt mit dem Ende der Eingabe überein
$
und setzt+_
dort. Daraus ergibt sich etwas von der Form3+_
, die in Pip eine anonyme Funktion ist.quelle
Bash → C / C ++ / C # / Java, 33 Byte
und vielleicht auch andere
quelle
Vitsy zu K, 5 Bytes
\ o / K wird in Kürze verwendet, wenn dies möglich ist.
oder vielleicht...
Wenn die Eingabe als Zeichenfolge verwendet wird (nur für 0-9-Eingabe) ...
Alle diese Befehle für Eingabe 2 geben Folgendes aus:
quelle
Kleine Lisp zu Ceylon ,
6861Tiny Lisp hat keine echte Eingabe und Ausgabe, sondern nur eine Ausdrucksbewertung. Dieser obige Code erstellt eine Funktion und bindet sie an
u
. Sie können dann rufen Sieu
mit dem Argumentn
wie folgt aus :(u 7)
, die auf diese Tiny Lisp Wert auswertet:Dies ist ein gültiger Ceylon-Ausdruck für eine anonyme Funktion, die einer beliebigen Ganzzahl eine 7 hinzufügt.
Vielen Dank an DLosc für eine Verbesserung von 7 Bytes.
quelle
JavaScript zu Lambda Calculus , 39 Bytes
(Hierbei wird das verknüpfte Dokument als Basis verwendet.)
Angenommen, die Eingabe ist
5
. Dann wird dies:quelle
Microscript II auf Javascript ES6, 9 Bytes
quelle
GNU auf C, 46 Bytes gesetzt
quelle
Ceylon bis Tiny Lisp , 76
Dies erzeugt (nach dem Lesen einer Eingabezeile) eine Ausgabe wie
(q((x)(s 5(s 0 x))))
, die in Tiny Lisp zu ausgewertet wird((x) (s 5 (s 0 x)))
, eine Funktion, die ein Argument nimmtx
, es von 0 subtrahiert und das Ergebnis von 5 subtrahiert. (Ja, so fügt man in Tiny Lisp hinzu.) , es ist nur eine Subtraktionsfunktion eingebaut. Natürlich könnte man zuerst eine Additionsfunktion definieren, aber das wäre länger.)Sie können es wie folgt als anonyme Funktion verwenden:
(Dies wird zu 12 ausgewertet.)
Oder Sie können ihm einen Namen geben:
Korrekturen und Golftipps von DLosc, dem Autor von Tiny Lisp.
quelle
Javascript (ES6)> PHP / Javascript,
384847 BytesDieser Code ist eine anonyme Funktion, die eine GÜLTIGE PHP- und Javascript-Funktion mit dem Namen erstellt
anonymous
.Zum Zeitpunkt der Erstellung dieses Codes hat nur Firefox ES6 nativ implementiert (ohne Flags und solche).
Dieser Code verwendet die
prompt()
Funktion, um die Eingabe und Ausgabe anzufordern. Firefox unterstützt das Kopieren der Ausgabe vonprompt()
und macht dies zu einer legitimen Ausgabemethode für Javascript.Überlegungen:
;
am Ende wird für PHP benötigtreturn $x
wird von Javascript benötigtreturn$x
es undefiniert istAlte Antwort (48 Bytes):
Alte ungültige Antwort:
quelle