Napisz najkrótszy program, który pobiera jedno wejście (n) ze STDIN (lub równoważnego) i wyprowadza prostą funkcję inkrementacyjną z jednym argumentem (x), który zwraca x + n, ale funkcja musi być w innym języku. Dość proste!
To jest golf golfowy, obowiązują normalne zasady, wygrywa najkrótszy program.
Przykład:> <> do Pythona (Ungolfed)
!v"def i(x):"a" return x+"ir!
>l?!;o
Wkład:
3
Wydajność:
def i(x):
return x+3
EDYCJA: Funkcje anonimowe i wyrażenia lambda są dozwolone!
function BUT
tego, co mamy napisać .. -_-Odpowiedzi:
GS2 → K, 2 bajty
Wyświetla milczącą, monadyczną funkcję. Kod źródłowy używa kodowania CP437 . Wypróbuj online!
Testowe uruchomienie
Jak to działa
GS2
GS2 automatycznie odczytuje ze STDIN i wypycha dane wejściowe na stos.
•
wskazuje, że następny bajt jest literałem ciągu singletonowego.Przed wyjściem GS2 drukuje wszystkie elementy stosu.
K.
Curry z lewym argumentem jest automatyczne w K.
W tym
n+
przypadku funkcja dyadyczna+
staje się funkcją monadyczną, ustawiając lewy argument nan
.źródło
ShapeScript → J, 4 bajty
To drukuje milczący, monadyczny czasownik. Wypróbuj online: ShapeScript , J
Testowe uruchomienie
Jak to działa
ShapeScript
ShapeScript automatycznie odczytuje ze STDIN i wypycha dane wejściowe na stos.
"&+"
wypycha ten ciąg na stos.Przed wyjściem ShapeScript drukuje wszystkie elementy stosu.
jot
&
wykonuje curry argumentowania.Tutaj
n&+
zamienia dynastyczny czasownik+
w czasownik monadyczny, ustawiając jego lewy argument nan
.źródło
GolfScript → CJam, 4 bajty
Spowoduje to wydrukowanie bloku kodu (funkcja anonimowa). Wypróbuj online: GolfScript , CJam
Testowe uruchomienie
Jak to działa
GolfScript
GolfScript automatycznie odczytuje ze STDIN i wypycha dane wejściowe na stos.
{+}
wypycha ten blok na stos.+
wykonuje konkatenację, która szczęśliwie łączy łańcuch i blok.Przed wyjściem GolfScript drukuje wszystkie elementy stosu.
CJam
{n +}
to blok kodu , któryn
po uruchomieniu najpierw wypycha stos, a następnie wykonuje+
, co wyskakuje ze stosu dwóch liczb całkowitych i wypycha ich sumę.źródło
{n +}
popycha42
, a następnie wykonuje+
. (Prawdopodobnie powinno być{42 +}
lub „naciskan
”)BrainF *** do JavaScript ES6, 57 bajtów
(Zakłada się, że dane wejściowe składają się ze znaków numerycznych)
Powiedz, że
1337
to twój wkład. Wtedy to skompiluje się do:źródło
Wirnik do K, 2 bajty
Równie dobrze może wskoczyć na modę K.
źródło
O do K, 5 bajtów
Dzięki @ kirbyfan64sos
Kolejna wersja wykorzystująca funkcje dodane po utworzeniu wyzwania.
źródło
i'++p
.R do Julii, 19 bajtów
Odczytuje liczbę całkowitą z STDIN przy użyciu
scan()
i zapisuje nienazwaną funkcję Julii do STDOUT przy użyciucat()
. Funkcja Julia jest po prostux->x+n
, gdzien
pochodzi z programu R.źródło
Malbolge do JavaScript ES6, 71 bajtów
Generowanie kodu Malbolge zawsze sprawia przyjemność.
źródło
Minecraft 1.8.7 do K,
76 + 33 + 27 + 62 =129128 bajtówKorzysta z tej wersji liczenia bajtów .
Bloki poleceń (od lewej do prawej):
Prawdopodobnie można by to nieco pograć w golfa, ale jest to dość proste: wygeneruj zmienną
J
z celemK
i ustaw jej wynik dla tego celu na dane wejściowe (nie ma STDIN - pomyślałem, że to było wystarczająco blisko). Następnie, po zaznaczeniu, wypisz wynik zmiennejJ
dla celu,K
a następnie a+
. Bułka z masłem.źródło
extra
, umieścić wyniku JSON w tablicy, a następnie umieścić ciąg znaków?tellraw @a [{score:{name:"J",objective:"K"}},"+"]
Poważnie dla Pythona, 15 bajtów
,"lambda n:n+"+
Oczekuje, że dane wejściowe będą miały postać ciągów, tj
"3"
Wyjaśnienie:
Wypróbuj online (będziesz musiał ręcznie wprowadzić dane wejściowe, ponieważ permalinki nie lubią cudzysłowów)
źródło
Matematyka na C #, 22 bajty
Zwraca C #
Func<int, int>
formularzaźródło
rs -> K, 2 bajty
Demo na żywo.
źródło
Pyth do APL,
75 bajtówKod Pyth po prostu łączy input (
z
) z łańcuchem"--"
. To tworzy nienazwany pociąg monadyczny w APL o formien--
, skądn
pochodzi Pyth. Podczas wywoływania go w APL,(n--)x
dla niektórych argumentów jestx
obliczanyn--x = n-(-x) = n+x
.Spróbuj: Pyth , APL
Zaoszczędzono 2 bajty dzięki Dennisowi!
źródło
> <> do Pythona, 25 + 3 = 28 bajtów
Pobiera dane wejściowe za pośrednictwem
-v
flagi, npi wyprowadza lambda Python, np
lambda x:x+27
.Jako bonus, oto wersja wejściowa STDIN na 30 bajtów:
źródło
Mysz do Ruby, 19 bajtów
Nie golfowany:
Tworzy to nienazwaną funkcję Ruby postaci,
->x{x+n}
któran
pochodzi od Myszy.źródło
Haskell do Mathematica, 14 bajtów
źródło
Brainfuck to Java, 273
Wypisuje metodę podobną
int d(int i){return i+42;}
(która nie wygląda jak metoda Java, ale ... Java!)źródło
public static int method(int argument){return argument+42;}
public static
języku Java, tak naprawdę nie używasz Javy.argument
Lepiej byś też nazwałsummand
;-). )public static void main(String[] arguments){}
PHP → JavaScript (ES6), 20
24bajtówCzytanie ze STDIN jest zawsze drogie w PHP. To wygląda trochę dziwnie:
Drukuje
x=>x+
i czeka na wprowadzenie danych przez użytkownika, aby zakończyć ciąg, kończy się pełną anonimową funkcją JavaScript, npx=>x+2
.Pierwsza wersja (24 bajty )
źródło
x=>x+<?=$x;
? Jest prawidłowy PHP4.1 i możesz przekazywać wartości przez POST, GET, SESSION, COOKIE ... i będzie działał bezbłędnie. Lub na PHP5.3 zregister_globals=on
(w twoimphp.ini
pliku).STDIN
. Za każdym razem, gdy ignorowałem, było to krytykowane. Więc teraz traktuję wymagania poważnie. :)GET
to zostało pominięteSTDIN
. Za chwilę mogę to przetestować.Pyth -> K, 4 bajty
K jest naprawdę łatwo nadużyć tutaj ...
Demo na żywo.
źródło
Python 2 do CJam,
1820 bajtówDzięki LegionMammal978 za poprawienie funkcjonalności.
Python ma podstawowy format ciągu.
%f
jest kodem dla liczby zmiennoprzecinkowej, a ponieważ nie straciłbym żadnych bajtów na obsługę wartości zmiennoprzecinkowych, zrobiłem to.CJam jest bardzo podobny do odpowiedzi Golfscript-> CJam. Wygląda to mniej więcej tak:
lub:
Jest to blok, który usuwa najwyższą wartość ze stosu, wypycha specjalną liczbę, a następnie dodaje ją.
źródło
Powłoka POSIX do Haskell, 19 bajtów
Dozwolone są funkcje anonimowe, Haskell jest dobrym wyborem wydajności z sekcjami operatora.
źródło
Retina do Pip , 4 bajty
Używa jednego pliku dla każdej z tych linii + 1 bajt kary; lub umieść obie linie w jednym pliku i użyj
-s
flagi.Dopasowuje koniec wejścia
$
i wstawia+_
tam. Powoduje to coś w formie3+_
, która jest anonimową funkcją w Pip.źródło
Bash → C / C ++ / C # / Java, 33 bajty
a może inni
źródło
Vitsy do K, 5 bajtów
\ o / K zostanie wkrótce wykorzystane, jeśli będzie to możliwe.
albo może...
Jeśli dane wejściowe są traktowane jako ciąg znaków (tylko dla danych wejściowych 0–9) ...
Wszystkie te dane wejściowe 2 wygenerują:
źródło
Tiny Lisp to Ceylon ,
6861Tiny Lisp nie ma rzeczywistych danych wejściowych i wyjściowych - po prostu ma ocenę wyrażeń. Powyższy kod tworzy funkcję i wiąże ją
u
. Następnie możesz wywołaću
taki argumentn
:,(u 7)
który będzie obliczał tę wartość Tiny Lisp:Jest to prawidłowe wyrażenie Cejlonu dla anonimowej funkcji, która dodaje 7 do dowolnej liczby całkowitej.
Dzięki DLosc za ulepszenie 7 bajtów.
źródło
JavaScript do Lambda Calculus , 39 bajtów
(Wykorzystuje połączony dokument jako podstawę.)
Powiedz, że wejście to
5
. Wtedy to staje się:źródło
Microscript II do Javascript ES6, 9 bajtów
źródło
GNU sed do C, 46 bajtów
źródło
Ceylon do Tiny lisp , 76
Daje to (po odczytaniu wiersza wejściowego) dane wyjściowe typu
(q((x)(s 5(s 0 x))))
, który ocenia w Tiny Lisp do((x) (s 5 (s 0 x)))
, funkcję, która pobiera argumentx
, odejmuje go od 0 i odejmuje wynik od 5. (Tak, tak dodaje się w Tiny Lisp , wbudowana jest tylko funkcja odejmowania. Oczywiście najpierw można zdefiniować funkcję dodawania, ale byłoby to dłuższe.)Możesz użyć tego w ten sposób jako funkcji anonimowej:
(To będzie oceniać do 12.)
Lub możesz nadać mu nazwę:
Korekty i wskazówki do gry w golfa od DLosc, autora Tiny Lisp.
źródło
JavaScript (ES6)> PHP / JavaScript,
384847 bajtówTen kod jest anonimową funkcją, która tworzy WAŻNĄ funkcję PHP i JavaScript o nazwie
anonymous
.W chwili pisania tego kodu tylko Firefox zaimplementował natywnie ES6 (bez flag i tym podobnych).
Ten kod używa
prompt()
funkcji do żądania danych wejściowych i wyjściowych. Firefox obsługuje kopiowanie danych wyjściowychprompt()
, dzięki czemu jest to legalna metoda wyjściowa dla Javascript.Uwagi:
;
końcu jest wymagana dla PHPreturn $x
jest wymagana przez Javascriptreturn$x
jest niezdefiniowaneStara odpowiedź (48 bajtów):
Stara nieprawidłowa odpowiedź:
źródło