Golf Halloween: Tantangan 2spooky4me!

41

Meme internet saat ini adalah mengetik 2spooky4me, dengan orang kedua mengetik 3spooky5me, mengikuti (n)spooky(n+2)mepolanya.

Misi Anda adalah menerapkan pola ini dalam bahasa pilihan Anda. Anda harus menulis sebuah program atau fungsi yang mengambil nilai n(dari input standar, sebagai argumen fungsi, atau alternatif terdekat), dan mengeluarkan string (n)spooky(n+2)me(tanpa tanda kurung; ke output standar, sebagai nilai balik untuk fungsi, atau alternatif terdekat) ).

Solusi Anda harus bekerja untuk semua input, dari 1hingga 2 di bawah nilai integer maksimum representatif bahasa Anda ( 2^32-3untuk C pada mesin 32-bit, misalnya).

Contoh implementasi dengan Python:

def spooky(n):
    return "%dspooky%dme"%(n,n+2)

spooky(2) -> "2spooky4me"

Ini , sehingga celah standar dilarang, dan jawaban terpendek dalam byte menang!

Papan peringkat

Cuplikan Stack di bagian bawah posting ini menghasilkan leaderboard dari jawaban a) sebagai daftar solusi terpendek per bahasa dan b) sebagai leaderboard keseluruhan.

Untuk memastikan bahwa jawaban Anda muncul, silakan mulai jawaban Anda dengan tajuk utama, menggunakan templat Penurunan harga berikut:

## Language Name, N bytes

di mana Nukuran kiriman Anda. Jika Anda meningkatkan skor Anda, Anda bisa menyimpan skor lama di headline, dengan mencoretnya. Contohnya:

## Ruby, <s>104</s> <s>101</s> 96 bytes

Jika Anda ingin memasukkan beberapa angka dalam tajuk Anda (mis. Karena skor Anda adalah jumlah dari dua file atau Anda ingin membuat daftar hukuman penterjemah secara terpisah), pastikan bahwa skor sebenarnya adalah angka terakhir di tajuk:

## Perl, 43 + 2 (-p flag) = 45 bytes

Anda juga dapat membuat nama bahasa menjadi tautan yang kemudian akan muncul di cuplikan:

## [><>](http://esolangs.org/wiki/Fish), 121 bytes

Mego
sumber
2
Untuk poin bonus: Masukkan %dspooky%dme, validasi, dan kembali seri berikutnya.
bertepuk tangan
24
Benar, tetapi Dennis masih akan menang
bertepuk tangan
7
Siapakah Dennis? : O
NuWin
10
@NuWin Dennis adalah caranya. Dennis adalah cahaya.
Alex A.
1
@NuWin Dennis adalah cinta, Dennis adalah kehidupan

Jawaban:

44

gs2, 15 byte

Saya mengalahkan Dennis!

CP437:

spooky•me♣╨V↕0B

Hex dump:

73 70 6f 6f 6b 79 07 6d 65 05 d0 56 12 30 42

Pada awal program, STDIN didorong (mis. String "3") dan disimpan dalam variabel A. Sepuluh byte pertama dari program mendorong dua string, "spooky"dan "me", ke stack. Kemudian:

  • d0mendorong variabel A.
  • 56 mem-parsingnya sebagai angka.
  • 12 30 menambahnya dua.
  • 42menukar dua elemen teratas di tumpukan, meninggalkan "3" "spooky" 5 "me".

Tumpukan terakhir dicetak sebagai 3spooky5me.

Lynn
sumber
4
Astaga, itu pendek. +1
Addison Crump
11
GJ, tapi Dennis mungkin datang ke sini dan mengalahkanmu untuk menjaga reputasinya.
TheDoctor
7
Apa tidak bagaimana bagaimana Anda melakukan itu
spaghetto
3
Saya baru sadar ... apakah GS2 singkatan dari "golf script 2"?
mbomb007
5
Ngomong-ngomong, saya telah menambahkan GS2 ke keluarga penerjemah online saya, Cobalah online!
Dennis
30

GS2, 17 byte

56 40 27 27 04 73 70 6F 6F 6B 79 05 42 04 6D 65 05

AKU TIDAK BISA OUTGOLF DENNIS BANTUAN

sebuah spaghetto
sumber
29
relevan
Downgoat
3
Sungguh
24

Terjebak, 17 byte

i_2+"spooky";"me"

EDIT: Tebak ANDA BISA MENGATAKAN SAYA TERJALAN DI 17 BYTES

sebuah spaghetto
sumber
1
Hei keren, seseorang benar-benar menggunakan Stuck: D
Kade
@ Shebang Saya sebenarnya sangat suka Stuck. Meskipun akan lebih baik jika memiliki beberapa metode yang lebih baik untuk memanipulasi array.
spaghetto
21

GolfScript, 17 byte

~.2+"spooky"\"me"

Cobalah online di Web GolfScript .

Bagaimana itu bekerja

~        # Evaluate the input.
.2+      # Push a copy and add 2.
"spooky" # Push that string.
\        # Swap it with the computed sum.
"me"     # Push that string.
Dennis
sumber
10

Chef, 414 byte

S.

Ingredients.
g i
2 g t
115 l s
112 l p
111 l o
107 l k
121 l y
109 l m
101 l e

Method.
Take i from refrigerator.Put e into mixing bowl.Put m into mixing bowl.Put i into mixing bowl.Add t.Put y into mixing bowl.Put k into mixing bowl.Put o into mixing bowl.Put o into mixing bowl.Put p into mixing bowl.Put s into mixing bowl.Put i into mixing bowl.Pour contents of mixing bowl into the baking dish.

Serves 1.

Resep untuk bencana. Jangan coba ini di rumah.

sebuah spaghetto
sumber
6
Ny. Itu beberapa selera seram yang Anda dapatkan di sana.
Addison Crump
9

TeaScript, 18 byte

x+`spooky${x+2}me`

Sayangnya string ini tidak dapat dikompresi jadi ini pada dasarnya sependek yang akan didapat

Downgoat
sumber
12
Selamat datang di byte ke-18! : P
a spaghetto
9

Pip, 18 byte

Sepertinya saya berada di tingkat kedua bahasa golf di sini. : ^ P

[a"spooky"a+2"me"]

Mengambil nomor sebagai argumen baris perintah dan menempatkan elemen yang sesuai dalam array, yang digabungkan bersama dan dicetak ulang secara otomatis di akhir program.

DLosc
sumber
8

dc, 20 byte

?dn[spooky]P2+n[me]P
daniero
sumber
8

Japt, 17 16 byte

U+"spooky{U+2}me

Japt ( Ja vascri pt disingkat) adalah bahasa dari penemuan saya. Ini lebih baru dari tantangan ini; dengan demikian, jawaban ini tidak bersaing. Tidak seperti tujuh bahasa saya yang tidak dipublikasikan lainnya, yang satu ini memiliki juru bahasa aktual yang saat ini sedang dikembangkan dan sebagian sudah berfungsi.

Saya ingin memposting ini karena saya suka panjangnya sama dengan semua jawaban tempat kedua yang ada. Begini cara kerjanya:

U+"spooky{U+2}me"    implicit: [U,V,W,X,Y,Z] = eval(input)
U+                   input +
  "spooky     me"     this string
         {U+2}         with input+2 inserted here
                     implicit: output last expression

Dan begitulah. Spesifikasi untuk semua fungsi yang digunakan di sini diselesaikan pada 29 Oktober; tidak ada yang berubah untuk membuat jawaban ini lebih pendek. Inilah penerjemahnya , seperti yang dijanjikan.

Produksi ETH
sumber
Saya yakin ini adalah pre-shoco, tapi saya pikir Anda bisa melakukannya {U}2medaripada {U+2}me: P
Oliver
7

Gol> <> , 21 byte

I:n"emykoops"6Ro{2+nH

Kurasa aku ... terikat dengan Perl? Cobalah online .

I:n            Input n, output n
"emykoops"     Push chars
6Ro            Output top 6 chars (spooky)
{2+n           Output n+2
H              Output stack and halt (me)
Sp3000
sumber
7

Vitsy, 21 Bytes

Catatan: Zperintah dibuat setelah tantangan ini dimulai, tetapi tidak dibuat untuk tantangan ini.

VVN "ykoops" ZV2 + N "em" Z
V Ambil item teratas dari tumpukan (input) dan buat menjadi a
                       variabel global.
 V Sebutkan - dorong variabel global ke atas tumpukan.
  N Keluarkan sebagai angka.
   "ykoops" Tekan 'seram' ke tumpukan.
           Z Keluarkan semuanya.
            V2 + N Panggil variabel global lagi, tambahkan dua, lalu output sebagai num.
                "em" Z Tekan 'aku' ke tumpukan dan keluarkan semuanya.

Lebih banyak variasi spoopy menggunakan banyak tumpukan (27 Bytes):

& "ykoops" & "em"? DN? Z ?? 2 + N ?? Z

& Buat tumpukan baru dan pindah ke sana.
 "ykoops" Tekan 'seram' ke tumpukan saat ini.
         & "em" Lakukan yang terakhir dengan 'aku'.
              ? Pindah setumpuk.
               DN Keluarkan input.
                 Z Z Pindahkan tumpukan (yang bertuliskan seram) dan cetak.
                   ?? Pindah kembali ke tumpukan asli.
                     2 + N Tambahkan 2 ke input dan output sebagai angka.
                        ?? Z Pindah ke tumpukan dengan 'aku' di dalamnya dan cetaklah.

Cobalah online!

Addison Crump
sumber
Hanya ingin tahu, mengapa senar terbalik?
Cyoce
Ini mendorong karakter ke tumpukan satu per satu.
Soham Chowdhury
6

Julia, 23 byte

n->"$(n)spooky$(n+2)me"

Ini menciptakan fungsi lambda tanpa nama yang menerima integer dan mengembalikan sebuah string. Output dibangun menggunakan interpolasi string Julia.

Alex A.
sumber
5

Ruby, 25 byte

->n{"#{n}spooky#{n+2}me"}

Ini menciptakan lambda tanpa nama yang menerima integer dan mengembalikan sebuah string. String dibangun menggunakan interpolasi string Ruby.

Alex A.
sumber
5

APL, 25 22 byte

⍕,'spooky','me',⍨∘⍕2+⊢

Ini menciptakan fungsi kereta monadik tanpa nama yang menerima integer di sebelah kiri dan mengembalikan sebuah string.

Nilai numerik dikonversi ke string menggunakan . Array string digabungkan menjadi satu string menggunakan .

Cobalah online

Disimpan 3 byte berkat Thomas Kwa!

Alex A.
sumber
5

Javascript (ES6) 23 21 Bytes

Fungsi sederhana yang akan dihancurkan oleh golf lanqs:

_=>_+`spooky${_+2}me` 

_=>`${_}spooky${_+2}me`

Terima kasih khusus kepada ETHproduk untuk menghemat 2 byte

Pengguna Generik
sumber
BAIK! Anda mungkin dapat mempersingkat string templat, tapi saya tidak bisa memikirkan cara untuk melakukannya
MayorMonty
Dua byte disimpan:_=>_+`spooky${_+2}me`
ETHproduksi
Terima kasih, tetapi sekarang perbaikannya tampak sangat jelas sehingga saya merasa bodoh. Saya pikir ini adalah cara terpendek yang mungkin untuk melakukan ini dalam Javascript, saya bisa salah (saya harap saya salah)
Generic User
5

05AB1E, 14 10 byte

DÌs’ÿæªÿme

Cobalah online.

Non-bersaing sejak 05AB1E lebih baru dari tantangan ini.

Penjelasan

DÌs’ÿæªÿme

D                get input n and duplicate it
 Ì               increment by 2
  s              Swap. Stack is now [n+2, n].
   ’ÿæªÿme       Compressed string that expands to "ÿspookyÿme". The first ÿ is then replaced by n and the second by n+2.
sebuah spaghetto
sumber
2
Ini tampaknya bekerja dengan Ddihapus selama 9 byte
dzaima
4

PHP, 55 47 46 42 34 byte

<?=($a=$argv[1]).spooky.($a+2).me;

Menerima nomor sebagai input baris perintah.

Kredit :)

Berkat manatwork karena telah menghemat 4 byte!

Terima kasih untuk memasukkan nama pengguna di sini karena menghemat 8 byte!


sumber
function a($a){echo$a,"spooky",$a+2,"me";}
manatwork
Anda dapat menyimpan 4 byte dengan menghapus "s. Anda bahkan bisa menyimpan 4 lebih byte dengan mengambil garis argumen perintah dan membuang fungsi, seperti ini: <?=($a=$argv[1]).spooky.($a+2).me;.
masukkan nama pengguna di sini
4

Chaîne , 15 byte

pertanyaan pasca-bahasa yang tidak bersaing, bahasa

{i~}:-,}:{2+}me
{i~}            | input duplicate write
    :   :       | access dictionary with inner base-93 key
     -,}        | entry for "spooky"
         {2+}   | push 2, add previous two, write
             me | write me

Output tersirat.

Conor O'Brien
sumber
Outputnya adalah `spookyme 4 2" (dipisahkan baris baru)
Fabian Schmengler
@fschmengler Saya pasti mengacaukan sesuatu sambil memperbarui juru bahasa. Mohon tunggu sebentar.
Conor O'Brien
@fschmengler Baiklah, bug telah diperbaiki. Itu seharusnya bekerja sekarang.
Conor O'Brien
3

Simplex v.0.7 , 20 byte

Simplex tidak merasa seperti golf hari ini. > _ <

i@R"spooky"&IIR"me"g
i@                   ~~ take input and copy to register
  R"spooky"          ~~ write that string to the strip (increment byte after every character)
           &II       ~~ write the register (incremented twice) to the strip
              R"me"  ~~ write that string to the strip
                   g ~~ output the strip
Conor O'Brien
sumber
Anda masih mengalahkan Vitsy. oo
Addison Crump
@VoteToTutup Jangan merasa terlalu buruk. Versi Simplex terakhir adalah ~ 25+ karakter. Bagaimanapun, 20 atau 21 byte tidak mendekati 17; -;
Conor O'Brien
2
Dennis menang lagi .
Addison Crump
1
@VoteToTutup Apa yang Anda harapkan? Dia seorang mod XD
Conor O'Brien
3
Kami perlu menambahkan ini ke daftar meme.
Addison Crump
3

C, 58 byte

main(a,b)char**b;{printf("%sspooky%dme",*++b,atoi(*b)+2);}

atoi() mungkin tidak perlu.

Chris Loonam
sumber
1. Gagal pada saya gcc, karena itu tergantung pada urutan evaluasi. 2. Simpan byte dengan int**b.
ugoren
3

Mathematica, 45 27 byte

Print[#,"spooky",#+2,"me"]&

g=ToString[#]<>"spooky"<>ToString[#+2]<>"me"&

Terima kasih kepada Martin Büttner untuk perbaikan yang signifikan (dan sambutan hangat).

Di mana-mana
sumber
2
Selamat datang di PPCG! Fungsi yang tidak disebutkan namanya baik-baik saja, jadi Anda tidak perlu g=dan saya pikir Print[#,"spooky",#+2,"me"]&harus berfungsi juga. :)
Martin Ender
Bagaimana dengan Row@{#,spooky,#+2,me}&? Outputnya serupa secara visual jika variabel tidak didefinisikan.
Arcampion
3

Minkolang 0,10 , 49 byte

Saya tidak punya cara untuk mengubah bilangan bulat menjadi string (belum!), Jadi ini jauh lebih lama.

"me"nd2+(dl%"0"+$rl:d)"spooky"2g(dl%"0"+$rl:d)$O.

Coba di sini.

Penjelasan

(dl%"0"+$rl:d)melakukan pekerjaan mengubah int ke string. Jika ini digantikan oleh satu karakter (seperti Z), maka solusi saya hanya 23 byte .

"me"nd2+Z"spooky"2gZ$O.

ndmengambil integer dari input dan menduplikatnya. 2+menambahkan 2 dan 2gkemudian mendapatkan input awal dan meletakkannya di atas tumpukan. $O.mengeluarkan seluruh tumpukan sebagai bilangan bulat dan berhenti.

El'endia Starman
sumber
Tentunya lebih pendek untuk hanya menampilkan angka sebagai angka?
Sp3000
Keluaran sebagai angka secara otomatis menambah ruang ke output. Jadi itu akan menjadi "2 menakutkan".
El'endia Starman
3

Lua untuk windows, 41 byte

n=io.read()print(n.."spooky"..n+2 .."me")

tes dengan lua untuk windows

dibutuhkan input melalui io.read kemudian disimpan dalam variabel n kemudian pada baris yang sama mencetak variabel n lalu "seram" lalu n + 2 akhirnya ia mencetak "saya"

Alex Allen
sumber
1
Hapus spasi putih dan simpan byten=io.read()print(n.."spooky"..n+2.."me")
Digital Veer
1
@DigitalVeer - Tanpa spasi 2.akan diperlakukan sebagai angka.
Egor Skriptunoff
p.lua: print(.....'spooky'.. ...+2 ..'me') Cara menjalankan: lua51.exe p.lua 2Ukuran = 35 byte.
Egor Skriptunoff
3

Rotor, 15 byte

&"spooky"~2+"me

Bahasa diciptakan setelah tantangan. Tidak bekerja dalam juru bahasa online (menggunakan eval input.)

sebuah spaghetto
sumber
Anak bendungan. Anda mengalahkan Dennis. Akhirnya. Hore!
Addison Crump
1
Rotor sudah mati bagiku, jangan coba menghidupkannya kembali.
spaghetto
1
Kerja bagus, bahkan di Rotor !! Anda harus menghargainya dengan hidup.
Rɪᴋᴇʀ
3

Cookie , 16 byte (tidak bersaing)

Perhatikan bahwa perubahan terbaru pada halaman Github tidak dibuat untuk tantangan ini, Cookie masih dalam pengembangan.

wŕspooky[r+2]me"

Penjelasan:

wŕspooky[r+2]me"
w                 start write command
 ŕ                take input
  spooky          write spooky
        [r+2]     compute input + 2
             me   write me
               "  close write command.
Mego
sumber
@Mego. Mengapa Anda menambahkan non-bersaing? Hanya bertanya.
Bahasa dibuat 5 bulan setelah tantangan diposting.
Mego
@Mego Tidak tahu tentang sistem itu. Terima kasih telah mencerahkan saya;)
Senang untuk membantu. Jika kiriman valid, tetapi bahasa / fitur yang digunakan tidak ada sebelum memposting tantangan (baik di main atau di Sandbox), itu harus ditandai sebagai tidak bersaing, kecuali jika tantangan khusus memungkinkan bahasa / fitur yang lebih baru untuk bersaing.
Mego
Kanan. Itu masuk akal.
3

Jelly, tidak bersaing

13 byte Jawaban ini tidak bersaing, karena tantangan mendahului pembuatan Jelly.

+0,2ż“×¥X“ŀ`»

SAYA TIDAK BISA OUTGOLF QUARTATA BANTUAN

Cobalah online!

Bagaimana itu bekerja

+0,2ż“×¥X“ŀ`»  Main link. Input: n

+0,2           Add [0, 2] to n, resulting in [n, n + 2].
     “×¥X“ŀ`»  Yield ['spooky, 'me'] by indexing into a dictionary.
    ż          Zip the results to left and right with each other.
               This yields [[n, 'spooky'], [n + 2, 'me']], which is flattened
               before printing.
Dennis
sumber
7
Seseorang tidak hanya mengalahkan ... quartata?
Arcturus
Saya sepertinya tidak bisa mengalahkan quartata, tetapi, karena jawabannya tidak bersaing, saya dapat memberikan bantuan. +2ṭż“×¥X“ŀ`»
Erik the Outgolfer
3

Perl 5 , 20 19 byte

$\=spooky.($_+2).me

Kode membutuhkan -psakelar. Terima kasih kepada @Xcali untuk bermain golf 1 byte!

Cobalah online!

Dennis
sumber