C, C ++, BF, BASH và Ruby; 280 ký tự
Điểm số khoảng 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);}
Lưu ý rằng tôi đang sử dụng một hệ thống Linux.
Mã được chạy hoặc biên dịch với các lệnh sau (tên tệp là test.c
)
C:
gcc test.c
Khi chạy với ./a.out
, đầu ra làC
C ++:
c++ test.c
Khi chạy với ./a.out
, đầu ra làC++
BASH:
./test.c
Đầu ra: BASH
Ruby:
ruby test.c
Đầu ra: Ruby
BrainF ***:
Xác minh bằng cách sử dụng như sau:
Đầu ra: brainfuck
Lưu ý rằng nếu trình gỡ lỗi JS được sử dụng, thì hai dấu trừ đầu tiên cần được loại bỏ. Chúng được bao gồm để bù các dấu cộng trong chuỗi ký tự "C++"
. Đây là một dự án rất thú vị, tôi đang làm việc để thêm nhiều ngôn ngữ.
Để thêm rõ ràng hơn, đây là thông số kỹ thuật / trình biên dịch của tôi:
phiên bản gcc 4.6.3
ruby 1.9.3p194 (phiên bản 2012-04-20 35410) [x86_64-linux]
GNU bash, phiên bản 4.2.24 (1) -release (x86_64-pc-linux-gnu)
GHI CHÚ
Sử dụng thủ thuật @ baby-rabbit, tôi có thể mở rộng mã của mình để có thể thực thi được bằng 7 ngôn ngữ (object-C và object-c ++ được thêm vào). Đây không phải là giải pháp của tôi vì tôi đã sao chép một số, nhưng tôi nghĩ rằng tôi sẽ thể hiện nó ra.
Cập nhật 9.12
Đã thêm SmallTalk chạy với gnu-smalltalk!
SmallTalk, C, C ++, Objective-C, Objective-C ++, BASH, BF, Ruby; 384 ký tự (Điểm: 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
Trong đoạn mã trên, bạn sẽ cần đổi tên tệp để tạo tên của langauge cho object-c, obj-c ++, c và c ++.
print()
cho Perl, Python, PHP, Xử lý và R có thể được coi là tầm thường hay không?