C, C ++, BF, BASH e Ruby; 280 caracteres
A pontuação é de cerca de 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);}
Observe que estou usando um sistema Linux.
O código é executado ou compilado com os seguintes comandos (o nome do arquivo é test.c
)
C:
gcc test.c
Quando executado com ./a.out
, a saída éC
C ++:
c++ test.c
Quando executado com ./a.out
, a saída éC++
BATER:
./test.c
Saídas: BASH
Rubi:
ruby test.c
Saídas: Ruby
BrainF ***:
Verificado usando o seguinte:
Saídas: brainfuck
Observe que, se o depurador JS for usado, os dois primeiros sinais de menos precisarão ser removidos. Eles foram incluídos para compensar os sinais de mais na string literal "C++"
. Este foi um projeto muito divertido, estou trabalhando para adicionar mais idiomas.
Apenas para adicionar mais clareza, aqui estão as especificações do meu intérprete / compilador:
gcc versão 4.6.3
ruby 1.9.3p194 (revisão de 20/04/2012 35410) [x86_64-linux]
Lançamento do GNU bash, versão 4.2.24 (1) (x86_64-pc-linux-gnu)
NOTA
Usando o truque de @ baby-rabbit, consegui estender meu código para ser executável em 7 idiomas (sendo adicionados o objetivo-C e o objetivo-c ++). Esta não é a minha solução desde que copiei algumas, mas pensei em mostrá-la.
Atualização 9.12
Adicionada a execução do SmallTalk com o gnu-smalltalk!
SmallTalk, C, C ++, Objective-C, Objective-C ++, BASH, BF, Ruby; 384 caracteres (Pontuação: 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
No código acima, você precisará renomear o arquivo para produzir o nome do idioma para objetivo-c, obj-c ++, ce ec ++.
print()
Perl, Python, PHP, Processing e R seria considerado trivial ou é aceitável?