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


2
Untuk poin bonus: Masukkan %dspooky%dme, validasi, dan kembali seri berikutnya.
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.


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


24

Terjebak, 17 byte

i_2+"spooky";"me"

EDIT: Tebak ANDA BISA MENGATAKAN SAYA TERJALAN DI 17 BYTES


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.



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.


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


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.



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.


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)

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!


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.


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.


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!


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


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.

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!


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.


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

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


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.


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).


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.


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"


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.)


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. 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.

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.