C, C ++, BF, BASH, dan Ruby; 280 karakter
Skor sekitar 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);}
Perhatikan bahwa saya menggunakan sistem Linux.
Kode dijalankan atau dikompilasi dengan perintah berikut (nama file adalah test.c
)
C:
gcc test.c
Saat dijalankan dengan ./a.out
, output adalahC
C ++:
c++ test.c
Saat dijalankan dengan ./a.out
, output adalahC++
PESTA:
./test.c
Output: BASH
Rubi:
ruby test.c
Output: Ruby
BrainF ***:
Diverifikasi menggunakan yang berikut:
Output: brainfuck
Perhatikan bahwa jika debugger JS digunakan, maka dua tanda minus pertama harus dihapus. Mereka dimasukkan untuk mengimbangi tanda-tanda plus dalam string literal "C++"
. Ini adalah proyek yang sangat menyenangkan, saya sedang berusaha menambahkan lebih banyak bahasa.
Untuk menambah kejelasan lebih lanjut, berikut ini adalah spesifikasi juru / kompiler saya:
gcc versi 4.6.3
ruby 1.9.3p194 (2012-04-20 revisi 35410) [x86_64-linux]
GNU bash, versi 4.2.24 (1) -release (x86_64-pc-linux-gnu)
CATATAN SISI
Dengan menggunakan trik baby-rabbit saya dapat memperluas kode saya agar dapat dieksekusi dalam 7 bahasa (objektif-C dan objektif-c ++ ditambahkan) Ini bukan solusi saya karena saya memang menyalin beberapa, tapi saya pikir saya akan memamerkannya.
Perbarui 9,12
Ditambahkan SmallTalk dijalankan dengan gnu-smalltalk!
SmallTalk, C, C ++, Objective-C, Objective-C ++, BASH, BF, Ruby; 384 karakter (Nilai: 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
Dalam kode di atas Anda perlu mengganti nama file untuk menghasilkan nama langauge untuk objektif-c, obj-c ++, c dan c ++.
print()
untuk Perl, Python, PHP, Processing dan R dianggap sepele atau apakah itu dapat diterima?