C, C ++, BF, BASH und Ruby; 280 Zeichen
Der Wert liegt bei 0,040
#include "stdio.h"
#define s "C"
#ifdef __cplusplus
#define s "C++"
#endif
#ifndef s
#"+++++++++[>++++++++++>+++++++++<<-]>>-.<++++.>-.++++++++.<----.>---.<+++++++.>---.++++++++.<<++++++++++.[-]"
if [ 1 == 2 ];then
puts "Ruby"
exit
fi
echo "BASH"
exit
end
#endif
main(){puts(s);}
Beachten Sie, dass ich ein Linux-System verwende.
Der Code wird mit den folgenden Befehlen ausgeführt oder kompiliert (der Name der Datei lautet test.c
)
C:
gcc test.c
Wenn mit ausgeführt ./a.out
, wird ausgegebenC
C ++:
c++ test.c
Wenn mit ausgeführt ./a.out
, wird ausgegebenC++
BASH:
./test.c
Ausgänge: BASH
Rubin:
ruby test.c
Ausgänge: Ruby
Gehirn ***:
Verifiziert mit:
Ausgänge: brainfuck
Beachten Sie, dass bei Verwendung des JS-Debuggers die ersten beiden Minuszeichen entfernt werden müssen. Sie wurden eingefügt, um die Pluszeichen im Zeichenfolgenliteral auszugleichen "C++"
. Dies war ein sehr lustiges Projekt, ich arbeite daran, weitere Sprachen hinzuzufügen.
Zur weiteren Verdeutlichung hier die Angaben meines Interpreters / Compilers:
gcc version 4.6.3
ruby 1.9.3p194 (2012-04-20 Revision 35410) [x86_64-linux]
GNU Bash, Version 4.2.24 (1) -Release (x86_64-pc-linux-gnu)
RANDNOTIZ
Mit dem Trick von @ baby-rabbit konnte ich meinen Code so erweitern, dass er in 7 Sprachen ausführbar ist (Objective-C und Objective-C ++ werden hinzugefügt). Dies ist nicht meine Lösung, da ich einige kopiert habe, aber ich dachte, ich würde es vorführen.
Update
9.12 SmallTalk mit gnu-smalltalk hinzugefügt!
SmallTalk, C, C ++, Objective-C, Objective-C ++, BASH, BF, Ruby; 384 Zeichen (Score: 0.059)
#if (a)
##(true) ifTrue: ['SmallTalk' printNl]
##(ObjectMemory quit)
#"+++++++++++[>++++++++++>+++++++++<<-]>>-.<++++.>-.++++++++.<----.>---.<+++++++.>---.++++++++.<<++++++++++.[-]"
if [ 1 == 2 ];then
puts 'Ruby'
exit
fi
echo 'BASH'
exit
end
=begin
#endif
#include "stdio.h"
main(){puts(
#ifdef __OBJC__
"Objective-"
#endif
"C"
#ifdef __cplusplus
"++"
#endif
);}
#ifdef b
=end
#endif
Im obigen Code müssen Sie die Datei umbenennen, um den Namen der Sprache für Objective-C, Obj-C ++, C und C ++ zu erzeugen.
print()
Perl, Python, PHP, Processing und R als trivial angesehen, oder ist sie akzeptabel?