Натхненний я не мовою, яку ви шукаєте!
Виклик
Виберіть дві різні мови програмування та напишіть програму, яка друкує наступний рядок у stdout (або еквівалент):
This program errors out in <the current language> :P
а потім генерує різного роду помилки в кожній з двох мов.
Правила
Деякі правила взяті з початкового завдання.
- У висновку назви мови повинні точно слідувати:
- Ім'я, вказане в TIO , необов'язково виключаючи номер версії та / або ім'я реалізації (наприклад, якщо ви використовуєте
JavaScript (Node.js)як одну зі своїх мов, ви можете використовуватиJavaScriptдля свого імені мови, але ніJSабоJavascript). - Повна назва на офіційному веб-сайті (або GitHub repo), якщо ваша мова вибору не доступна в TIO.
- Ім'я, вказане в TIO , необов'язково виключаючи номер версії та / або ім'я реалізації (наприклад, якщо ви використовуєте
- Жодна програма не повинна брати будь-які дані від користувача.
- Ви можете використовувати коментарі на будь-якій мові.
- Дві різні версії однієї мови вважаються різними мовами.
- Якщо це зроблено, програма повинна вивести основний номер версії, а якщо вона працює на двох різних другорядних версіях, також повинна повідомити про другорядну версію.
- Не слід використовувати попередньо вбудовані функції версій (сюди входять змінні, які вже були оцінені під час виконання).
- Два різних прапори командного рядка на одній мові також враховуються як різні мови відповідно до цього мета-консенсусу , до тих пір, поки прапори не включають фрагменти коду (наприклад,
-Dblahblah...в C).- Якщо це зроблено, програма також повинна вивести використаний прапор.
- Дві помилки вважаються різними, якщо обидві помилки не породжені однаковою семантикою (наприклад, "поділ на нуль", "помилка сегментації" або "індекс поза діапазоном").
- Якщо час виконання мови не виходить після помилки, але повідомляє про помилку якимось чином користувачеві, це дійсна помилка.
- Якщо мова не дискримінує повідомлення про помилки, але має відомий перелік причин, які викликають помилку, ви повинні вказати причину, а не повідомлення про помилку.
Прикладом є><>лише одне повідомлення про помилкуsomething smells fishy..., але на вікі-сторінці esolangs є список причин помилок.
- Помилка синтаксису не допускається, якщо вона не генерується за допомогою виклику
eval()або подібного. - Додавати щось вручну (через
throw(JS),raise(Python),die(Perl) або подібне) дозволено, але всі вони розглядаються як один вид помилок. - Помилка недійсної команди в 2D або golflangs також допускається (і трактується як один вид помилок).
Приклади
Пітон і Рубі
- Python:
This program errors out in Python :Pдля stdout, а потім невизначений ідентифікатор - Ruby:
This program errors out in Ruby :Pдля stdout, потім індекс поза межами
C89 і C99
- C89:
This program errors out in C 89 :Pдо stdout, потім ділення на нуль - C99:
This program errors out in C 99 :Pвиведення, а потім сегментація
Зауважте, що номер версії завжди повинен бути відокремлений пробілом від назви мови.
Python 2.7.9 та Python 2.7.10
- Python 2.7.9:
This program errors out in Python 2.7.9 :Pдля stdout, потім синтаксична помилка на eval - Python 2.7.10:
This program errors out in Python 2.7.10 :Pдля stdout, потім ключова помилка на dict
Perl і Perl -n
- Perl:
This program errors out in Perl :Pдля stdout, а потім недійсний формат часу - Perl
-n:This program errors out in Perl -n :Pдля stdout, а потім спробуйте відкрити файл, який не існує
Умова виграшу
Це код-гольф , тому виграє найкоротший код у байтах. Але вам завжди рекомендується розмістити відповідь, яка є цікавою або цікавою, навіть якщо вона не дуже коротка.
This program errors out in ...містити змішані вкладки / пробіли, а не просто пробіли?

