Halloween Golf: Le défi 2spooky4me!


41

Un meme Internet actuel est de taper 2spooky4me, avec une deuxième personne en tapant 3spooky5me, en suivant le (n)spooky(n+2)memodèle.

Votre mission est d'implémenter ce modèle dans la langue de votre choix. Vous devez écrire un programme ou une fonction qui prend une valeur n(de l'entrée standard, en tant qu'argument de fonction ou de la variante la plus proche) et génère la chaîne (n)spooky(n+2)me(sans les parenthèses; sur la sortie standard, en tant que valeur de retour pour une fonction ou la solution de remplacement la plus proche. ).

Votre solution doit fonctionner pour toutes les entrées, 1jusqu'à 2 en dessous de la valeur entière représentable de votre langue ( 2^32-3pour C sur un ordinateur 32 bits, par exemple).

Exemple d'implémentation en Python:

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

spooky(2) -> "2spooky4me"

C'est du , donc les échappatoires standard sont interdites et la réponse la plus courte en octets l'emporte!

Classement

Le fragment de pile au bas de cet article génère le classement à partir des réponses a) sous forme de liste des solutions les plus courtes par langue et b) sous forme de classement global.

Pour vous assurer que votre réponse apparaît, commencez votre réponse par un titre, en utilisant le modèle Markdown suivant:

## Language Name, N bytes

Nest la taille de votre soumission. Si vous améliorez votre score, vous pouvez conserver les anciens scores en les effaçant. Par exemple:

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

Si vous souhaitez inclure plusieurs numéros dans votre en-tête (par exemple, parce que votre score est la somme de deux fichiers ou si vous souhaitez répertorier séparément les pénalités d'indicateur d'interprétation), assurez-vous que le score réel est le dernier numéro de l'en-tête:

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

Vous pouvez également faire du nom de la langue un lien qui apparaîtra ensuite dans l'extrait de code:

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


2
Pour les points bonus: saisissez %dspooky%dme, validez et revenez ensuite en série.
applaudir

24

7
Qui est Dennis? : O
NuWin

10
@NuWin Dennis est le chemin. Dennis est la lumière.
Alex A.

1
@NuWin Dennis est amour, Dennis est la vie

Réponses:


44

gs2, 15 octets

J'ai gommé Dennis!

CP437:

spooky•me♣╨V↕0B

Décharge Hex:

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

Au début du programme, STDIN est poussé (par exemple, la chaîne de caractères "3") et stocké dans une variable A. Les dix premiers octets du programme poussent deux chaînes "spooky"et "me", dans la pile. Ensuite:

  • d0pousse variable A.
  • 56 le analyse comme un nombre.
  • 12 30 l'incrémente de deux.
  • 42échange les deux premiers éléments de la pile en partant "3" "spooky" 5 "me".

La pile finale est imprimée comme 3spooky5me.


4
Saint enfer, c'est court. +1
Addison Crump

11
GJ, mais Dennis pourrait venir ici et vous battre pour préserver sa réputation.
TheDoctor

7
Qu'est-ce pas comment comment avez-vous fait cela
un spaghetto

3
Je viens de me rendre compte que GS2 signifie "script de golf 2"?
mbomb007

5
A propos, j'ai ajouté GS2 à ma famille d'interprètes en ligne, essayez-le en ligne!
Dennis

30

GS2, 17 octets

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

JE NE PEUX PAS OUTGOLF DENNIS HELP



3
C'est tellement bizarre que nous ayons actuellement 4 langues liées pour la première et 3 langues pour la seconde: P
ETHproductions

24

Coincé, 17 octets

i_2+"spooky";"me"

EDIT: suppose que vous pourriez dire que je suis coincé à 17 octets


1
Hé cool, quelqu'un utilise réellement Stuck: D
Kade

@ Shebang j'aime vraiment vraiment Stuck. Bien que ce serait bien s'il avait quelques meilleures méthodes pour manipuler des tableaux.
un spaghetto

21

GolfScript, 17 octets

~.2+"spooky"\"me"

Essayez-le en ligne sur Web GolfScript .

Comment ça marche

~        # 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 octets

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.

Une recette pour un désastre. N'essayez pas ceci à la maison.


6
Mm. C'est certains goûts fantasmagoriques que vous avez là.
Addison Crump

9

TeaScript, 18 octets

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

Malheureusement, cette chaîne ne peut pas être compressée, elle est donc aussi courte que possible.


12
Bienvenue au 18ème octet! : P
un spaghetto

9

Pip, 18 octets

On dirait que je suis dans le deuxième niveau de langues de golf ici. : ^ P

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

Prend le nombre en tant qu'argument de ligne de commande et place les éléments appropriés dans un tableau, qui est réuni et imprimé automatiquement à la fin du programme.



8

Japt, 17 16 octets

U+"spooky{U+2}me

Japt ( Ja vascri pt abrégé) est une langue de mon invention. C'est plus récent que ce défi; ainsi, cette réponse est non concurrente. Contrairement à mes sept autres langues non publiées, celle-ci a un interprète qui est en cours de développement et qui fonctionne déjà partiellement.

Je voulais poster parce que j'aime la façon dont il est la même longueur que tous les existants de première place réponses deuxième place. Voici comment cela fonctionne:

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

Et voila. Les spécifications de toutes les fonctionnalités utilisées ici ont été finalisées le 29 octobre; rien n'a été changé pour raccourcir cette réponse. Voici l' interprète , comme promis.


Je suis sûr que c'était avant le shoco, mais je pense que vous auriez pu faire {U}2meau lieu de {U+2}me: P
Oliver

7

Gol> <> , 21 octets

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

Je suppose que je suis… à égalité avec Perl? Essayez-le en ligne .

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 octets

Remarque: la Zcommande a été faite après le début de ce défi, mais n'était pas faite pour ce défi.

VVN "ykoops" ZV2 + N "em" Z
V Prenez l’élément supérieur de la pile (l’entrée) et faites-en un
                       variable globale.
 V Appelez-le - placez la variable globale en haut de la pile.
  N Indiquez-le sous forme de nombre.
   "ykoops" Pousser 'spooky' à la pile.
           Z tout afficher.
            V2 + N Appelez à nouveau la variable globale, ajoutez-en deux, puis indiquez num.
                "em" Z Poussez moi dans la pile et sortez le tout.

Variation plus spoopy utilisant plusieurs piles (27 octets):

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

& Créez une nouvelle pile et déplacez-vous dessus.
 "ykoops" Pousse 'spooky' dans la pile actuelle.
         & "em" faire le dernier à des choses avec «moi».
              ? Déplacez-vous sur une pile.
               DN Sortie de l'entrée.
                 ? Z Déplacez la souris sur une pile (celle qui contient 'spooky') et imprimez-la.
                   ?? Revenez à la pile d'origine.
                     2 + N Ajoutez 2 à l'entrée et transmettez-la sous forme de nombre.
                        ?? Z Déplacez-vous dans la pile avec «moi» et imprimez-le.

Essayez-le en ligne!


Je me demandais simplement pourquoi les chaînes étaient inversées.
Cyoce

Il pousse les caractères dans la pile un par un.
Soham Chowdhury

6

Julia, 23 octets

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

Cela crée une fonction lambda sans nom qui accepte un entier et renvoie une chaîne. La sortie est construite à l'aide de l'interpolation de chaînes de Julia.


5

Ruby, 25 octets

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

Cela crée un lambda sans nom qui accepte un entier et retourne une chaîne. La chaîne est construite à l'aide de l'interpolation de chaîne de Ruby.


5

APL, 25 22 octets

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

Cela crée un train de fonctions monadique non nommé qui accepte un entier à gauche et renvoie une chaîne.

Les valeurs numériques sont converties en chaînes à l'aide de . Le tableau de chaînes est joint en une seule chaîne à l'aide de .

Essayez-le en ligne

3 octets sauvés grâce à Thomas Kwa!


5

Javascript (ES6) 23 21 octets

Une fonction simple qui sera écrasée par les jeux de golf:

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

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

Un merci spécial à ETHproductions pour avoir économisé 2 octets


NOICE! Vous pourrez peut-être raccourcir les chaînes du modèle, mais je ne vois aucun moyen de le faire
MayorMonty,

Deux octets enregistrés:_=>_+`spooky${_+2}me`
ETHproductions

Merci, mais la solution semble si évidente que je me sens stupide. Je pense que c'est le moyen le plus court possible de le faire en Javascript, je peux me tromper (j'espère que je me trompe)
Utilisateur générique

5

05AB1E, 14 à 10 octets

DÌs’ÿæªÿme

Essayez-le en ligne.

Non compétitif depuis 05AB1E est plus récent que ce défi.

Explication

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
Cela semble fonctionner avec Dsupprimé pour 9 octets
dzaima

4

PHP, 55 47 46 42 34 octets

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

Accepte le numéro en tant qu'entrée de ligne de commande.

Crédits :)

Merci à manatwork pour avoir économisé 4 octets!

Merci à insertusernamehere pour la sauvegarde de 8 octets!


function a($a){echo$a,"spooky",$a+2,"me";}
Manatwork

Vous pouvez économiser 4 octets en supprimant le "s. Vous pouvez même sauver 4 octets de plus en prenant un argument de ligne de commande et jeter la fonction, comme ceci: <?=($a=$argv[1]).spooky.($a+2).me;.
insertusernamehere

4

Chaîne , 15 octets

question non concurrentielle, langue postdates

{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

Sortie implicite.


La sortie est `spookyme 4 2" (nouvelle ligne séparée)
Fabian Schmengler

@fschmengler J'avais dû tout gâcher pendant la mise à jour de l'interprète. Veuillez patienter.
Conor O'Brien

@fschmengler D'accord, les bugs ont été corrigés. Cela devrait fonctionner maintenant.
Conor O'Brien


3

Simplex v.0.7 , 20 octets

Simplex ne se sent tout simplement pas gaie aujourd'hui. > _ <

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

Vous avez toujours battu Vitsy. oo
Addison Crump

@VoteToClose Ne vous sentez pas trop mal. La dernière version de Simplex aurait été environ 25 + caractères. Quoi qu'il en soit, 20 ou 21 octets ne s'approchent pas de 17;
Conor O'Brien


1
@VoteToClose Qu'attendiez-vous? Il est un mod XD
Conor O'Brien

3
Nous devons ajouter ceci à la liste des membres.
Addison Crump

3

C, 58 octets

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

atoi() peut être inutile.


1. Échec à mon gcc, parce que cela dépend de l'ordre d'évaluation. 2. Enregistrez un octet avec int**b.
Ugoren

3

Mathematica, 45 27 octets

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

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

Merci à Martin Büttner pour l’amélioration significative (et l’accueil chaleureux).


2
Bienvenue chez PPCG! Les fonctions sans nom sont acceptables, vous n’avez donc pas besoin de cela g=et cela Print[#,"spooky",#+2,"me"]&devrait également fonctionner. :)
Martin Ender

Qu'en est- il Row@{#,spooky,#+2,me}&? La sortie est visuellement similaire si les variables ne sont pas définies.
2012rcampion

3

Minkolang 0,10 , 49 octets

Je n'ai aucun moyen de convertir des entiers en chaînes (encore!), Donc c'est beaucoup plus long.

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

Essayez ici.

Explication

(dl%"0"+$rl:d)fait le travail de convertir un int en une chaîne. Si cela était remplacé par un seul caractère (comme Z), alors ma solution ne serait que 23 octets .

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

ndprend un entier de l'entrée et le duplique. 2+ajoute 2 et, 2gplus tard, obtient l’entrée initiale et la place au sommet de la pile. $O.sort la pile entière en tant qu'entiers et arrêts.


C’est sûrement plus court de simplement sortir les nombres en chiffres?
Sp3000

La sortie en tant que nombre ajoute automatiquement un espace à la sortie. Donc ce serait "2 spooky4 moi".
El'endia Starman

3

Lua pour Windows, 41 octets

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

test avec lua pour windows

il prend l’entrée par io.read puis stocké dans la variable n puis sur la même ligne imprime la variable n puis "spooky" puis n + 2 enfin elle affiche "moi"


1
Supprimez les espaces et économisez les octetsn=io.read()print(n.."spooky"..n+2.."me")
Digital Veer

1
@DigitalVeer - Sans les espaces, 2.ils seront traités comme un nombre.
Egor Skriptunoff

p.lua: print(.....'spooky'.. ...+2 ..'me') Comment exécuter: lua51.exe p.lua 2Taille = 35 octets.
Egor Skriptunoff

3

Rotor, 15 octets

&"spooky"~2+"me

La langue a été créée après le défi. Ne fonctionne pas dans l'interpréteur en ligne (utilise eval d'entrée)


Fils de la mère. Vous avez dépassé Dennis. Finalement. Hourra!
Addison Crump

1
Rotor est mort pour moi, n'essayez pas de le ressusciter s'il vous plait.
un spaghetto

1
Beau travail, même à Rotor !! Vous devriez le récompenser avec la vie.
Rɪᴋᴇʀ

3

Cookie , 16 octets (non concurrents)

Notez que les modifications récentes apportées à la page Github n'ont pas été apportées pour ce défi, Cookie est toujours en développement.

wŕspooky[r+2]me"

Explication:

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 Pourquoi avez-vous ajouté non compétitif? Je ne faisais que demander.

La langue a été créée 5 mois après la publication du défi.
Mego

@ Mego Je ne connaissais pas ce système. Merci de m'avoir éclairé;)

Heureux de vous aider. Si une soumission est valide mais que la ou les langue (s) / caractéristique (s) utilisée (s) n’existaient pas avant la publication du défi (dans le bac principal ou dans le bac à sable), elle doit être marquée comme non concurrente, sauf si le challenge permet spécifiquement aux nouvelles langues / fonctionnalités de concurrencer.
Mego

Droite. Ça a du sens.

3

Gelée, non en compétition

13 octets Cette réponse est sans concurrence, car le défi était antérieur à la création de Jelly.

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

JE NE PEUX PAS OUTGOLF QUARTATA HELP

Essayez-le en ligne!

Comment ça marche

+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
On ne fait pas simplement du golfe ... quartata?
Arcturus

Je ne peux pas sembler sortir du quartata mais, comme la réponse est non compétitive, je peux donner un coup de main. +2ṭż“×¥X“ŀ`»
Erik the Outgolfer

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.