Czy to nie denerwujące, gdy znajdziesz kawałek kodu i nie wiesz, w jakim języku został napisany? To wyzwanie próbuje nieco rozwiązać ten problem.
Wyzwanie
Będziesz musiał napisać program, który po uruchomieniu w dwóch różnych językach wyświetli ciąg znaków:
This program wasn't written in <language program compiled/interpreted in>, it was built for <other language the program can be run in>!
W danych wyjściowych nazwy języków powinny mieć oficjalne wielkie litery. np .: CJam, C ++
Żaden program nie powinien pobierać żadnych danych wejściowych od użytkownika.
W przypadku uruchamiania w obu językach, wyjście powinno być standardowe lub równoważne.
W żadnym programie nie powinno być wyjścia do stderr.
Możesz używać komentarzy w dowolnym języku.
Dwie różne wersje tego samego języka liczą się jako różne języki.
Jeśli tak się stanie, program powinien wypisać główny numer wersji, a jeśli działa na dwóch różnych mniejszych wersjach, powinien również zgłosić wersję mniejszą.
Nie należy używać wstępnie wbudowanych funkcji wersji (obejmuje to zmienne, które zostały już ocenione w czasie wykonywania).
Przykładowe dane wyjściowe:
Perl i Ruby:
Perl:
This program wasn't written in Perl, it was built for Ruby!
Rubin:
This program wasn't written in Ruby, it was built for Perl!
Python i C:
Pyton:
This program wasn't written in Python, it was built for C!
DO:
This program wasn't written in C, it was built for Python!
Python 2 i Python 3:
Python 2:
This program wasn't written in Python 2, it was built for Python 3!
Python 3:
This program wasn't written in Python 3, it was built for Python 2!
Python 2.4 i Python 2.7:
Python 2.4:
This program wasn't written in Python 2.4, it was built for Python 2.7!
Python 2.7:
This program wasn't written in Python 2.7, it was built for Python 2.4!
To jest kod golfowy, więc wygrywa najkrótszy kod w bajtach.
argv[0]
?