Le défi
On vous donne une fonction compile(s: String): Integer
qui retourne 0
si elle s
peut être compilée et autre chose que 0
si elle a échoué (le code résultant n'est pas important).
Le fait est que vous ne savez pas pour quelle langue la fonction est conçue, c'est donc à vous de le comprendre en donnant à la fonction de petits extraits de code et en observant ce qu'elle retourne. La bonne partie est qu'une équipe de scientifiques a essayé avant vous et a réduit la liste en C, C ++, C #, Java et JavaScript (ce sont les seuls langages répandus qui ont une syntaxe similaire à laquelle je pourrais penser).
Règles
- Les règles générales du code-golf s'appliquent.
- Il n'y a pas de format de sortie strict; tant qu'il est lisible et compréhensible, c'est ok.
- Si ces 5 langues ne vous suffisent pas, vous pouvez ajouter vos propres favoris et vous serez récompensé par des étoiles supplémentaires (★) (qui ne font rien).
Remarque 1 : le compilateur est à jour avec la dernière norme de la langue pour laquelle il est conçu.
Remarque 2 : je sais que JavaScript ne compile pas , mais il passe par un processus d'analyse; si c'est du code JavaScript valide, il passe
Réponses:
Longueur totale de l'extrait 8; programme d'essai 83 (C)
Distinguer JavaScript et C de C ++, Java et C #
Distinguer JavaScript de C
Distinguer C ++ de C # et Java
Distinguer C # et Java
Code C pour déterminer la langue
Extraits testés avec
C: gcc 4.7.2 avec -std = c99
C ++: g ++ 4.7.2 avec -std = c ++ 11
Java: javac 1.7.0_09
JavaScript: JavaScript-C 1.8.5
C #: Compilateur mono C # version 2.10.8.0
la source
#define C(x)compile(#x)?
économise un espace et beaucoup de citations.C(#x)
ne fonctionnera pas.