Ecrivez un quine composé de vrais mots anglais séparés par des espaces simples. Un "mot" est défini comme une chaîne ne contenant que des lettres minuscules et majuscules ( /[a-zA-Z]+/
en regex). Pour être "réel", votre mot doit être reconnu par le dictionnaire officiel Scrabble .
J'utilise le dictionnaire Scrabble car il donne une réponse définitive sur ce qui est valide ou non. Il y a trop de zones grises avec un dictionnaire normal. Notez que "A" et "I" (sans parler de "quine") ne sont pas des mots valides au scrabble.
Dans la plupart des langages de programmation, écrire quine uniquement à l' aide de lettres et d'espaces est presque impossible, vous avez la possibilité de remplacer les espaces simples entre les mots par un caractère de votre choix. Vous avez également la possibilité d’ajouter des caractères au début du premier mot et à la fin du dernier mot. Ces caractères ajoutés peuvent être n'importe quoi (y compris les retours à la ligne et les caractères non-ASCII) à l' exception des lettres (az, AZ) . Il y a une pénalité pour les ajouter cependant (voir Scoring).
Détails
- Comme d'habitude, les quines ne peuvent pas lire ou accéder à leur propre code source. (Je dirais que la commande Q de HQ9 + viole cela.)
- La sortie devrait aller à stdout ou à une alternative similaire. Il n'y a pas d'entrée.
- Les mots n'ont pas besoin d'être mis en majuscule correctement. Ils peuvent avoir des majuscules et des minuscules n'importe où. La séquence de mots n'a pas besoin de sens.
- Aucun mot ne peut être utilisé plus de 3 fois dans votre programme. Les mots avec une majuscule différente sont toujours le même mot (par exemple, "CHIEN", "chien" et "dOg" sont tous le même mot).
- L'utilisation de langages tels que PHP ou HTML qui ne peuvent que masquer leur contenu est considérée comme une échappatoire triviale et n'est pas autorisée.
- Le programme doit contenir au moins un mot.
Notation
Votre score est le nombre de "mots réels" dans votre programme plus les pénalités suivantes:
- +1 pour chaque espace remplacé par un autre personnage
- n n pour chaque n caractères que vous avez ajoutés avant le premier mot (oui, c’est n au pouvoir n)
- n n pour chaque n caractères ajoutés après le dernier mot
Par exemple, le programme
We all LIKE PROgraMmING
marquerait 4 parce qu'il contient 4 mots; aucun caractère n'a été ajouté ou remplacé aucun espace. Sa sortie serait bien sûr We all LIKE PROgraMmING
.
Le programme
!We@all LIKE#PROgraMmING- =
marquerait 4 + 2 + 1 + 27 = 34; 4 pour les mots, 2 pour les espaces remplacés, 1 pour !
le devant et 27 pour - =
le fin. Sa sortie serait bien sûr !We@all LIKE#PROgraMmING- =
.
Le score le plus bas gagne. Tiebreaker va à la réponse avec le moins de points de pénalité. S'il y a toujours égalité, la réponse la plus votée l'emporte.
la source
Réponses:
golfscript, 8 mots + 8 symboles =
2016 (3?)Les mots ne sont qu'un remplissage, le noyau est un noyau quine minuscule:
Dupliquer et évaluer une fonction qui ajoute simplement les instructions pour dupliquer et évaluer elle-même. Lorsqu'une fonction est imprimée, elle est automatiquement stringifiée. C'est la plus petite quine qui fait quelque chose .
Ou nous pourrions simplement utiliser un littéral de fonction qui ne soit jamais évalué. Mais c'est comme tricher ...
la source
{a`b"x.y~z"c}x.y~z
{whatever}
cela violerait la règle trop triviale ("Utiliser des langages tels que PHP ou HTML qui permettent de masquer leur contenu est considéré comme une échappatoire triviale et n'est pas autorisé.")> <> , 25 mots + (22 + 1 1 + 1 1 ) extra =
5749Oh mon dieu, mon cerveau.
Comme les règles indiquent "Il n'y a pas d'entrée.", Pour que ce programme fonctionne, vous devez diriger un fichier vide.
Le
brr
mot Oh et oui, est valide au Scrabble, comme le sonttsktsk
etpfft
.Explication
Tout d'abord, les mots suivants sont no-ops:
C'est à cause de deux raisons:
abcdefl
numéros de poussée (10, 11, 12, 13, 14, 15 et la longueur de la pile). De plus,i
appuie sur -1 si EOF est rencontré, vu qu’il n’ya pas d’entrée.p
commande affiche trois caractèresv,y,x
et placev
la positionx,y
.Oui,> <> vous permet de modifier le code source à la volée! Nous ne nous en servons pas vraiment, car nous n’avons besoin que du
p
pour sauter.Si nous nous débarrassons de ces no-ops, nous obtenons:
De la même manière, la
laced app
partie deplaced apple
et lae alp
partie deapple alp
sont également no-ops, et lerr
debrr
seulement inverse la pile deux fois, ce que nous pouvons également supprimer:Enfin, quelque chose qui ressemble à un programme régulier> <>! L'idée est d'utiliser la norme> <> quine, qui fonctionne comme suit:
'
analyse de chaîne commence, poussant chaque caractère rencontré jusqu'à ce que nous frappons un autre'
'
nouveau sur l'initiale et arrêtons l' analyse syntaxique des chaînes. Le résultat est que nous avons poussé chaque caractère du programme (sauf le premier'
) sur la pile.Ensuite se passe ce qui suit:
la source
i
.Poulet , 1 mot
Je ne suis pas normalement dans les esolangs, mais celui-ci semblait parfait pour cela. Je pense que c'est une vraie quine:
Pousse 1 poulet à la pile. La pile est ensuite affichée.
la source
R, 2 mots + 1 remplacement + 1¹ fin = 4
Les objets qui ne sont affectés à rien sont simplement imprimés sur stdout. Puisqu'une expression est un objet, le code suivant s'imprime:
Soumission précédente, 5 points:
la source
Python 2, 58 = 37 mots + 21 signes de ponctuation
Avec quelques nouvelles lignes ajoutées:
La restriction de trois utilisations par mot était ce qui rendait celle-ci difficile à écrire. Je voulais utiliser la chaîne avec tout le code plus de 3 fois, et chaque chaîne devait être isolée avec des
if else and or
opérateurs dont je ne disposais que dans une quantité limitée.la source
Julia, 1 mot + 1¹ précédent = 2
Julia a des objets appelés symboles qui sont définis en utilisant un précédent
:
. Tout comme ma solution R, cela n’imprime que lors de la soumission.la source
Ligne de commande DOS, 10
Erreur quine, pas banni semble-t-il
la source
&
code l'ensemble du code et arrête la sortie&
un mot, cependant?&
y a deux symboles. 5 (mots) + 1 (suivi) + 2 ^ 2Enchantements runiques , score 4 + 3 + 1 1 +1 1 = 9
Essayez-le en ligne!
Mots:
hot ox not knot
(4)Remplacements:
3 4 +
(3)Avant:
"
(1)Après:
@
(1)Tous les personnages
GNOQWghtxz
sont non-op dans Runic (ainsi que l'espace et la période, mais plus d'espaces n'aide pas les scores). Avec la fonctionnalitéX
etk
requis pour, cela donne la liste de mots disponible suivante:J'ai choisi les cerises en fonction des besoins de l'espace dans lequel elles allaient et je leur ai donné une drôle de tête.
La suppression de tous les caractères NOP donne le quine suivant:
Essayez-le en ligne!
la source
hein? - 1 mot + 1 ** 1/1 ^ 1 = 1 caractère après le mot = 2 score total.
Ouch!
est un quine valide à hein?Exécutez-le comme il est
pythuhn.py Ouch!
, et il ne peut y avoir de fichier nomméOuch!
dans le répertoire en cours.la source