Comme Halloween approche, j'ai pensé que je pourrais commencer un défi amusant avec un code de golf!
Le défi est assez simple. Vous devez écrire un programme qui affiche soit trick
ou treat
.
"La torsion?" tu peux demander. Eh bien, laissez-moi vous expliquer:
Votre programme doit faire ce qui suit:
- Être compilable / runnable en deux langues différentes. Différentes versions d'une même langue ne comptent pas.
- Lorsque vous exécutez le programme dans une langue, il doit générer
trick
et l’autre doit générertreat
. La casse est sans importance et le remplissage de la chaîne avec des espaces est autorisé (voir exemples). - C'est du code-golf , donc la solution avec le moins d'octets gagne.
Quelques explications:
Valeurs valides (juste pour les mots ne servant pas à exécuter le code dans les deux langues. Ajoutant également des guillemets pour signaler le début ou la fin de la sortie. Ne les incluez pas dans votre solution!):
"trick"
"Treat"
" TReAt"
"
tRICk "
Sorties non valides :
"tri ck"
"tr
eat"
"trck"
Je suis intéressé de voir ce que vous pouvez trouver! Bon golf!
Je voudrais noter que ceci est mon premier défi, donc si vous avez des suggestions sur cette question, laissez-les sous la forme d'un commentaire.
Classements
Voici un extrait de pile permettant de générer un classement régulier et un aperçu des gagnants par langue.
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
où N
est 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 classement:
# [><>](http://esolangs.org/wiki/Fish), 121 bytes
Réponses:
2sable / pl , 8 octets
Les deux programmes ont été testés localement avec le même fichier de 8 octets. Il s’agit donc d’un fichier polyglotte approprié.
2sable: astuce
Ceci est le programme dans la page de codes 1252 .
Essayez-le en ligne!
pl: traiter
Ceci est le programme en page de code 437 .
Essayez-le en ligne!
Comment ça fonctionne
2sable: astuce
pl: traiter
la source
Lot Python / Windows, 25 octets
Tout ce qui suit le # est interprété comme un commentaire par python, tandis que le || est un OU en batch, en disant que comme la commande précédente a échoué, exécutez celle-ci.
J'aime aussi l'utilisation d'un OU car il se lit presque "truc ou friandise" :)
la source
2>nul
.Espace blanc / étoilé, 135 octets
Voici un ciel dégagé pour Halloween!
Notez que les espaces sur les lignes vides peuvent ne pas être préservés si vous copiez à partir du code ci-dessus.
Les espaces blancs sortent "TRICK". Essayez-le en ligne!
Sorties étoilées "TREAT". Essayez-le en ligne!
Explication
Étoilé
Starry ignore tous les onglets et les nouvelles lignes, donc le code lu est le suivant
Par ailleurs, pousser des valeurs est très coûteux par rapport aux opérations de pile et arithmétiques dans Starry. Le code commence en poussant et en dupliquant 4 et effectue un certain nombre d'opérations dessus. Avec 2 et 1 poussés plus tard, toutes les valeurs ASCII requises sont générées.
Code annoté
Espace blanc
Comme son nom l'indique, les espaces ne traitent que les trois caractères d'espacement: espace, tabulation et nouvelle ligne. Contrairement à la Starry, le pousse simplement les espaces blancs valeurs ASCII
T
,R
,I
,C
, etK
et les estampes eux.Code annoté
L’imbrication des empreintes et des empreintes a été choisie uniquement pour des raisons esthétiques car elle n’affecte pas le nombre d’octets.
la source
Fichier .COM Linux ELF x86 / DOS, 73 octets
Source NASM:
Ceci utilise le fait que l'en-tête ELF commence par 7F 45, qui, interprété comme un code x86, est un saut.
Les parties pertinentes pour le DOS .COM:
la source
evil / ZOMBIE , 109 octets
Une autre réponse fantasmagorique!
Le
ZOMBIE
code définit unvampire
nomméxf
dont la seule tâchef
est activée à l’instanciation et sortira unetrick
fois avant d’être désactivé parstumble
. L'autresay
appel concerne le code mort (à quel point!)ZOMBIE
, Mais contient la plupart duevil
code.Car
evil
, lexf
nom est un appel à sauter au suivantj
, qui précède lezuueeueeawuuwzaeeaeeaeawuuuuwzuueeueeaw
gémissement de zombie qui fabrique et produittreat
. Le code suivant est soit exécuté (lettres minuscules), soit ignoré, mais comme il n’yaw
pas de sortie, aucune sortie ne doit être produite.la source
Python / Perl, 28 octets
Explication
Depuis
[]
est un ArrayRef en Perl, c'est une vérité, mais c'est un tableau vide en Python, donc faux.la source
print({}and"trick"or"treat")
en Python / Lua.{}
s'agit d'un HashRef!print ([]and"trick"or"treat")
print({}and"trick"or"treat")
!PHP / JavaScript,
32 à30 octetsAffiche
trick
en PHP ettreat
en JS.La
NaN
constante inconnue est convertie implicitement en chaîne par PHP, ce qui en fait une vérité. C'est de la fausseté dans JS.Méthode alternative, 38 octets
L'opérateur ternaire est à droite associative dans JS:
Et gauche-associative en PHP:
la source
HTML / HTML + JavaScript, 53 octets
treat
est le contenu textuel du document en HTML.Si JS est activé, il remplacera le contenu HTML par
trick
.la source
document.write()
place. -8 octetsdocument.write
ne remplacerait pas la sortie HTML, mais s'y ajouterait.C / Java 7,
165155128123122 122120103 octets// \ fait de la ligne suivante également un commentaire en C mais est un commentaire régulier d'une ligne en Java. Vous pouvez donc faire en sorte que C ignore le code destiné à Java et en ajoutant / * à la deuxième ligne, vous pouvez faire un commentaire pour Java qui est: analysé comme code par C.
Edit: je l’ai un peu amélioré en réorganisant les lignes et les commentaires.
Edit2: J'ai encore réorganisé et raccourci encore plus.
Edit3: J'ai ajouté les corrections suggérées par BrainStone pour supprimer 5 octets, merci :)
Edit4: Une nouvelle ligne s'est avérée inutile, je l'ai donc supprimée.
Edit5: j'ai changé printf en met.
Edit6: J'ai ajouté une correction suggérée par Ray Hamel.
la source
#include<stdio.h>
par#include<cstdio>
. Pas beaucoup, mais un octet est un octet. Et la suppression de plusint
Infront demain
volonté 4 octets de sécurité.int
est impliqué par C et C ++String[]s
.Jolf + Chaîne, 12 octets
Parce que Chaîne ne peut accepter un fichier à télécharger avec un encodage, je suppose que UTF-8. (Si je pouvais supposer ISO-8859-7, ce serait 11 octets, mais ce serait injuste.)
Dans la Chaîne,
«
commence un commentaire et le reste est imprimé textuellement. Dans Jolf,«
commence une chaîne. Heureusement,trick
ne fait rien de mal (10; range(input, parseInt(input))
fondamentalement), ettreat
est imprimé.Essayez Jolf ici!
Essayez la Chaîne ici!
Ils fonctionnent tous les deux sur mon navigateur (firefox, dernière version), mais on ne peut pas en dire autant des autres navigateurs.
la source
tr
.tr
puisse être réutilisé dans n'importe quel golf - c'est une petite information qui prendrait au moins un opérateur pour encoder dans des langues de golf, puis une langue spécifique conditionnelle. Il serait probablement égal à la même longueur ou plus. Cependant, ce n'est que ma conjecture;)#hell / Agony , 43 octets
Tellement
><>
partout, qu'est-ce que c'est, un défi du poisson d'avril? Voici une réponse avec des langues à thème approprié.#hell
est un sous-ensembleLUA
qui accepte heureusementio.write
les appels de sortie. Nous utilisonsLUA
les--
commentaires pour qu’il n’exécute que ce fragment.Agony
est unBrainfuck
dérivé qui a la particularité d'avoir son code et sa mémoire de travail sur la même bande. La première ligne n'imprime que 5 caractères (10 cellules) à partir de la fin du segment de code, où I est codé entreat
tant queAgony
commande.LUA
L'ouverture de commentaire--
modifie la valeur d'une cellule non utilisée.la source
Cubix / Hexagony , 31 octets
Trick it out! Traitez-le en ligne!
Halloween à thème ? Notez les faits horribles sur ces langues et le code:
=v=
sourire à vous qui agit en no-ops dans le codeNous allons creuser dans le mystère du protocole de communication caché de 31 octets de dimensions et de terreur ...
tour
Quand le code se plie ou se déplie tout seul ... C'est-à-
cubified
dire que la disposition ressemble à ceci:Et la partie principale est cette partie au milieu:
Il appuie
k,c,i,r,t
sur la pile eto
génère des sorties et des;
sauts dans une boucle délimitée par des réflecteurs et?
qui vous guide en fonction de la valeur située en haut de la pile ...traiter
Soudain, le code se transforme en cube en hexagone. (Imagine ça)
Et la partie principale est cette partie:
Il exécute
t;
ce qui imprimet
et frappe le miroir et tourne sa direction vers le nord-ouest à partir du coin SE et frappe un autre miroir. Cela var;
et enveloppe poure;_a
et]
apporte au pointeur d'instruction 1 qui commence au coin NE SE pointant et frappe/
qui reflète horizontalement;
alorst
.Ensuite , il enveloppe à
=
,;
et se@
termine le désordre.Alors ... Que
_
fait-il là?Pourquoi est-ce à l'intérieur du
t
e
a
(les 3 premières lettres du code)?Voici la fin de l'histoire -
ça ne fait rien .
Cela ressemble-t-il à la fin d'une histoire d'horreur?la source
SQL / Javascript, 54 octets
Même approche qu'avec ma réponse QB / JS : la première ligne contient l'instruction SQL, la seconde dispose d'un "commentaire" pour SQL et d'un NOP pour JS. Ensuite, nous définissons l’instruction SQL
select
comme une fonction JS valide.la source
/Brainf..k/, 143 + 3 = 146 octets
Cette réponse nécessite que l'
-A
indicateur apparaisse en ASCII pour Brain-Flak et, heureusement, Brainfuck ne s'en soucie pas, il n'affecte donc pas la sortie dans Brainfuck.Essayez-le en ligne!
Essayez-le en ligne!
Comment ça marche
Le seul chevauchement entre la syntaxe de Brain-Flak et Brainfuck concerne les caractères
<>[]
. Pour brain-flak, cela signifie principalement que le programme doit assurer un nombre pair de commutateurs de pile<>
. Et pour Brainfuck, cela signifie que nous devons éviter les boucles infinies causées par l'utilisation de la[]
monade.Le code Brain-Flak est le suivant:
Mis à part le
[<<...>>]
bit au milieu et<[<>]<>[<>]<>>
à la fin, ce code est assez semblable au cours pour les programmes Brain-Flak. Le négatif autour du zéro ([<...>]
) est là pour créer une boucle pour Brainfuck. L'intérieur<...>
est utilisé pour déplacer le Brainfuck dans une cellule vide avant qu'il ne rencontre le[][][][]
qui bouclerait infiniment sinon.Le code Brainfuck est comme suit:
En plus des éléments susmentionnés, il s’agit également d’un programme assez standard, je vous épargne donc tous les détails.
la source
/brainf..k/
, vous devriez donc utiliser le même format d'en-tête que tout le monde.For brain-flak this mostly means the program has to ensure an even number of stack switches
Êtes-vous sûr de cela? Cela ne devrait pas avoir d'importance car<>
c'est un NOP en brainfuck> <> / Pêche , 38 octets
Pour faire un
><>
/Fishing
polyglotte.C'est mon premier morceau de
Fishing
code après avoir longtemps joué avec><>
.Ma première impression: comme dans la nature, le pêcheur a moins de capacités physiques que sa prière, mais le compense avec son outil!
Ici le code est extrêmement simple:
><>
n'exécutera que la première ligne, où se_
trouve un miroir vertical et n'a aucun effet puisque le poisson commence à nager horizontalement. Il appuie simplementtrick
sur la pile puis l’imprime avant de s’arrêter.Pour
Fishing
, les_
instructions pour descendre. Le pêcheur suivra le pont qui constitue la deuxième ligne tout en attrapant les personnages de la troisième ligne. Ceux-ci pousseronttreat
sur la bande puis l’imprimeront, s’arrêtant au moment où elle atteindra la fin du jeu.Si l'erreur est autorisée, vous pouvez descendre à 35 octets avec le code suivant, ce qui déclenchera une erreur s'il est exécuté
><>
une foistrick
imprimé sur la pile:Vous devriez également vérifier mes réponses aux langues thématiques, #hell / Agony and evil / ZOMBIE !
la source
05AB1E / En fait , 10 octets
Explication
05AB1E
Essayez-le en ligne
Réellement
Essayez-le en ligne
la source
trick
’®Â
Haskell / Standard ML , 56 octets
Vue de Haskell
Les points-virgules permettent plusieurs déclarations sur une ligne et agissent comme des sauts de ligne. Nous obtenons donc
Un programme Haskell est exécuté en appelant la
main
fonction. La dernière ligneputStr"trick"
est donc exécutée, elle est simplement impriméetrick
.Les deux premières lignes sont interprétées comme des déclarations de fonction suivant le modèle
<functionName> <argumentName1> ... <argumentNameN> = <functionBody>
. Ainsi, dans la première ligne, une fonction nomméefun
est déclarée, qui prend deux arguments nommésputStr
etx
et le corps de la fonctionprint"treat"
. Il s'agit d'une fonction Haskell valide avec typefun :: t -> t1 -> IO ()
, ce qui signifie qu'elle prend un argument d'un type arbitrairet
et qu'un second d'un type quelconquet1
renvoie ensuite une action IO. Les typest
ett1
importent peu car les arguments ne sont pas utilisés dans le corps de la fonction. Le type d’action IO résultant deprint"treat"
, qui est imprimé"treat"
sur StdOut (remarquez le"
, c’est pourquoi,putStr
au lieu deprint
est utilisé dansmain
). Cependant, comme il ne s’agit que d’une déclaration de fonction, rien n’est réellement imprimé car ilfun
n’est pas appelémain
.La même chose se passe dans la deuxième ligne
val main=();
, une fonctionval
est déclarée qui prend un argument arbitraire nommémain
et retourne unit , le tuple vide()
. Son type estval :: t -> ()
(la valeur et le type d' unité sont indiqués par()
).Essayez-le sur Ideone.
Vue standard ML
La ML standard est un langage principalement fonctionnel dont la syntaxe est liée à Haskell, mais pas identique. En particulier, les déclarations de fonction sont précédées du mot clé
fun
si elles prennent des arguments, et du mot cléval
si elles ne le sont pas. Il est également possible d’avoir une expression au plus haut niveau (c’est-à-dire ne figurant dans aucune déclaration) qui est exécutée lors de l’exécution du programme. (En Haskell, écrire en1+2
dehors d’une déclaration jette unenaked expression at top level
erreur). Enfin, le symbole pour tester l'égalité est=
au lieu de==
Haskell. (Il y a beaucoup plus de différences, mais ce sont les seules qui importent pour ce programme.)SML voit donc deux déclarations
suivi d'une expression
qui est ensuite évalué. Pour déterminer si les
main
égaux sont égauxputStr"trick"
, les deux côtés doivent être évalués et les deux doivent être du même type, car SML (ainsi que Haskell) est typé de manière statique. Voyons d’abord le côté droit:putStr
n’est pas une fonction de bibliothèque dans SML, mais nous avons déclaré une fonction nomméeputStr
dans la lignefun putStr x=print"treat";
- elle prend un argumentx
(c’est la chaîne"trick"
dans notre cas) et l’oublie immédiatement, car ne se produit pas dans le corps de la fonction. Ensuite, le corpsprint"treat"
est exécuté et imprimétreat
(sans inclure"
, le format SMLprint
est différent de celui de Haskellprint
).print
a le typestring -> unit
, a doncputStr
le typea -> unit
et a doncputStr"trick"
juste tapezunit
. Pour être bien typé, ilmain
faut aussi avoir le typeunit
. La valeur de l' unité est la même dans SML que dans Haskell()
, nous déclarons doncval main=();
et tout est bien typé.Essayez-le sur le terrain de codage.
Remarque: la sortie dans la console est
Car dans SML \ NJ, la valeur et le type de chaque instruction sont affichés après chaque déclaration. Donc, d'abord, les types de
putStr
etmain
sont montrés, ensuite les expressions sont évaluées ettreat
imprimées, puis la valeur de l'expression (true
comme les deux côtés de=
sont()
) est liée à la variable de résultat impliciteit
qui est également affichée.la source
fun ... ... =
c'était du sucre syntaxique pourval rec ... = fn ... =>
. Mais là encore, cela fait des décennies que j'ai utilisé ML.fun
c'est un sucre syntaxique pour une fonction anonyme liéeval
(quirec
n'est nécessaire que si la fonction est récursive) et, par conséquent, la formulation "doit être préfixé" est mal choisie, je vais modifier la réponse. En général, l’utilisationfun
est la meilleure pratique, en particulier dans le code golf, car elle est beaucoup plus courte.Ruby / C,
64625148 octetsCe que Ruby voit:
La
tap
méthode prend un bloc et l'exécute une fois. C'est un identifiant court pour lequel nous pouvons créer une#define
macro en C. Cela nous permet également de mettre un bloc entre accolades dans le code partagé, même si Ruby n'autorise pas{}
s dans la plupart des contextes.Les seules valeurs de fausseté dans Ruby sont
false
etnil
. En particulier, 0 est la vérité. Ainsi, Ruby imprimera "astuce".Ce que voit C (après le pré-processeur):
0 est une fausseté dans C, donc C imprimera "traiter".
2 octets sauvés grâce à daniero.
la source
puts
au lieu deprintf
pour sauvegarder deux octetsprintf
en C que j'ai oublié qu'il a aussi uneputs
fonction.tap
? Et pourquoi ne t'es-tu pas débarrassé des espaces?p ? "trick":"treat"
=>p?"trick":"treat"
tap
sert réellement à deux fins. C’est un identifiant court#define
sur lequel l’accrochage est possible, mais cela me permet également de mettre les accolades directement dans le code Ruby.{}
blocs Ruby ne fonctionnent pas comme ils le font en C et langues similaires, maistap
ne prenez un bloc, et exécute une fois.p
.?<character>
est un caractère littéral, il faut donc un espace après?
.QBasic / JavaScript,
5144 octetsDans QBasic, il affiche la deuxième ligne et n'exécute pas la première, car il s'agirait d'un commentaire (merci). Dans JS, il appelle la fonction PRINT, définie sur la première ligne, juste après le JS NOP
'';
.la source
ShapeScript / Foo , 13 octets
Essayez-le en ligne! astuce | traiter
Comment ça fonctionne
ShapeScript est analysé caractère par caractère. Lorsque EOF est touché sans rencontrer de devis de clôture, rien n'est jamais poussé sur la pile.
'trick'
pousse la chaîne à l'intérieur des guillemets, qui est imprimée implicitement dans STDOUT.Foo n'a aucune commande assignée aux personnages
'trick'
, donc cette partie est ignorée en silence. Cependant, tout ce qui est entre guillemets doubles est imprimé immédiatement dans STDOUT, même si le guillemet de fermeture est manquant.la source
Ruby / Perl, 21 octets
Perl
Calcule
"trick" % 1
qui est0 % 1
donc l'||
envoietreat
à laprint
place, car Perl accepte barewords.Rubis
Formate la chaîne
"trick"
avec l'argument1
, ce qui donne la"trick"
vérité, donc le||
traitement n'est pas.la source
MATL / CJam , 17 octets
En MATL ce sorties
TRICK
. En CJAM il émetTREAT
.Explication
MATL
CJam
la source
Gelée / pl , 12 octets
C'est le programme affiché en utilisant la page de code de Jelly .
Essayez-le en ligne!
C'est le programme affiché à l'aide de la page de code 437 .
Essayez-le en ligne!
Les deux programmes ont été testés localement avec le même fichier de 12 octets. Il s’agit donc d’un fichier polyglotte approprié.
Comment ça fonctionne
En gelée, chaque ligne définit un lien (fonction); la dernière ligne définit le lien principal , qui est exécuté automatiquement lors de l'exécution du programme. À moins que le code avant le dernier
7f
octet (le saut de ligne dans la page de code de Jelly) ne contienne une erreur d'analyse (qui annulerait immédiatement l'exécution), ils sont simplement ignorés. La dernière ligne,“¡ṾI»
indexe simplement dans le dictionnaire de Jelly pour récupérer le mot astuce , qui est imprimé implicitement à la fin du programme.Je ne connais pas grand chose à propos de pl, mais il semble que l'interprète ne récupère qu'une ligne de code et ignore tout ce qui vient après. Comme en Perl, les mots nus sont traités comme des chaînes, donc ils affichent
treat
exactement cela.la source
Objective-C / C, 50 octets
Objective-C a obtenu des friandises et des impressions , mais pas C et des astuces .
Comment ça fonctionne
Je ne connais pas beaucoup Objective-C , mais il fait ce à quoi nous nous attendions raisonnablement dans cette situation. La redéfinition de
puts
n'affecte pas la sortie puisque nous n'appelons jamais la fonction, etmain
imprime un traitement et un saut de ligne vers STDOUT.Vous pourriez vous attendre à ce que C fasse de même, mais pas au moins gcc 4.8, gcc 5.3 et clang 3.7.
Puisque nous n'avons pas besoin du véritable printf (qui prend une chaîne de format et des arguments supplémentaires) et que la chaîne à imprimer se termine par un saut de ligne, nous pouvons utiliser des options de vente. putting est légèrement plus rapide que printf (qui doit analyser ses arguments avant l'impression). Ainsi, à moins de redéfinir la fonction printf , le compilateur optimise et remplace l'appel à printf par un appel à put . Le compilateur ne sait pas très bien que l'appel
puts
avec un argument"treat"
imprimera l' astuce à la place!Ne pas inclure stdio.h est crucial ici, car définir des options de vente nécessiterait d'utiliser le même type que dans le fichier d'en-tête (
puts(const char*)
).Enfin, il est à noter que l’appel à printf in met une chaîne de caractères sans saut de ligne. Sinon, le compilateur «optimise» également cet appel, ce qui entraîne une erreur de segmentation.
la source
Batch / sh, 30 octets
Explication. Batch voit la première ligne comme une étiquette, qu’il ignore, et exécute la deuxième ligne, qui affiche Trick. Le @ supprime l'écho par défaut de Batch de la commande sur stdout. (Les étiquettes ne sont jamais rappelées.) En attendant, sh voit ce qui suit:
La première ligne ne fait rien (c'est un alias de
true
), la deuxième ligne imprime Treat et la troisième ligne quitte le script. Le tour @echo n'est donc jamais atteint.la source
sed / Hexagony 32 octets
sed
Essayez-le en ligne!
La première ligne s'imprime
trick
s'il y a une chaîne vide à la fin de l'entrée. (sed ne fait rien s'il n'y a pas d'entrée, mais une ligne vide sur stdin est autorisée dans ce cas)Exemple d'exécution:
Hexagone
Essayez-le en ligne!
Le premier
/
redirige le pointeur d’instruction vers le haut et le gauche, de sorte qu’il entoure le bas à gauche, en ignorant le texte utilisé pour sed. Il réutilise le code du fichier sed et en utilise quelques autres sans aucun effet. L'hexagone élargi ressemble à ceci:Sortie:
la source
A
, mais vous pourriez rendre cela moins moche en changeant toutes les lettres en majuscules): hexagony.tryitonline.net/…C # / Java
Cela ne signifie probablement pas qu’il ne fonctionne pas tout seul, mais le défi m’a rappelé une bizarrerie de savoir comment C # et Java gèrent la comparaison de chaînes de caractères différemment avec laquelle vous pouvez vous amuser avec l’obscurcissement de code.
La fonction suivante est valide en C # et en Java, mais retournera une valeur différente ...
la source
Brain-Flak / Brain-Flueue,
265 253 219 165 139 115 113101 octetsInclut +1 pour
-A
Merci à Wheat Wizard d’avoir fait des allers et retours avec moi, jouant quelques octets sur le code de chacun.
Brain-Flak: Essayez-le en ligne!
Brain-Flueue: essayez-le en ligne!
Explanation:
La première section répertorie les valeurs visibles par Brain-Flak.
Quand il passe à Brain-Flueue, je commence à lister les valeurs comme Brain-Flueue les voit.
la source
PowerShell / Foo, 14 octets
Le
'trick'
dans PowerShell crée une chaîne et la laisse sur le pipeline. Le#
commence un commentaire, ainsi le programme se termine et lesWrite-Output
impressions implicitestrick
.Dans Foo, (Try it Online!) , Le
'trick'
mot est ignoré, le#
programme s'endort pendant0
quelques secondes (car il n'y a rien au pointeur du tableau), puis"treat
commence une chaîne. Etant donné que EOF est atteint, il existe un implicite"
pour fermer la chaîne, qui est imprimé sur stdout.la source
#
est la fonction de copie, et cela ne prend que des arguments non-complexes complexes de gauche, pas des chaînes. Le symbole de commentaire estNB.
#
PHP / Perl, 28 octets
defined&x
donne quelque chose de vrai en PHP (je ne sais pas pourquoi, mais c'est le cas).
En Perl, il vérifie si la fonction
x
est définie, ce qui n'est pas le cas.->
trick
en PHP,treat
en Perl.la source
CLS
?`
est la valeur de vérité de & x ou d & x définis ne me demandez pas lequel vous obtenez