私はあなたが探している言語ではないことに触発されました!
チャレンジ
2つの異なるプログラミング言語を選択し、次の行をstdout(または同等のもの)に出力するプログラムを作成します。
This program errors out in <the current language> :P
そして、2つの言語のそれぞれで異なる種類のエラーを生成します。
ルール
いくつかのルールは元のチャレンジから取られています。
- 出力では、言語名は次のとおりです。
- 記載されている名前TIO、必要に応じてバージョン番号および/または実装名を除いて、(あなたが使用している場合たとえば
JavaScript (Node.js)
、あなたの言語の一つとして、あなたが使用できるJavaScript
言語名のために、ではありませんJS
かJavascript
。) - 選択した言語がTIOで利用できない場合は、公式Webサイト(またはGitHubリポジトリ)のフルネーム。
- 記載されている名前TIO、必要に応じてバージョン番号および/または実装名を除いて、(あなたが使用している場合たとえば
- どちらのプログラムもユーザーからの入力を受け付けません。
- コメントはどちらの言語でも使用できます。
- 同じ言語の2つの異なるバージョンは、異なる言語としてカウントされます。
- これを行うと、プログラムはメジャーバージョン番号を出力し、2つの異なるマイナーバージョンで実行している場合は、マイナーバージョンも報告する必要があります。
- ビルド済みのバージョン関数を使用しないでください(これには、実行時にすでに評価された変数が含まれます)。
- 同じ言語の2つの異なるコマンドラインフラグも、フラグにコードフラグメントが含まれていない限り(C など)、このメタコンセンサスに従って異なる言語としてカウントされ
-Dblahblah...
ます。- これが行われた場合、プログラムは使用されたフラグも出力する必要があります。
- 2つのエラーは、両方のエラーが同じセマンティクス(「ゼロ除算」、「セグメンテーション違反」、「インデックス範囲外」など)によって生成されない限り、異なると見なされます。
- 言語のランタイムがエラー後に終了せず、何らかの方法でエラーをユーザーに報告する場合、それは有効なエラーです。
- 言語がエラーメッセージを識別しないが、エラーを引き起こす原因の既知のリストがある場合、エラーメッセージではなく理由を指定する必要があります。
例としては><>
、エラーメッセージsomething smells fishy...
が1つしかありませんが、esolangs wikiページにはエラーの理由のリストがあります。
- 呼び出し
eval()
などによって生成されない限り、構文エラーは許可されません。 - 手動で(
throw
JS)、raise
(Python)、die
(Perl)などを使用して何かをスローすることは許可されますが、それらはすべて1種類のエラーと見なされます。 - 2Dまたはgolflangsの無効なコマンドによるエラーも許可されます(1種類のエラーとして扱われます)。
例
PythonとRuby
- Python:
This program errors out in Python :P
標準出力、未定義識別子 - Ruby:
This program errors out in Ruby :P
標準出力に、その後、範囲外のインデックス
C89およびC99
- C89:
This program errors out in C 89 :P
標準出力、ゼロ除算 - 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
標準出力へ、その後無効な時刻形式 - Perl
-n
:This program errors out in Perl -n :P
標準出力に、その後、存在しないファイルを開こうとします
勝利条件
これはcode-golfであるため、バイト単位の最短コードが優先されます。ただし、短いものでなくても、楽しくて面白い答えを投稿することを常にお勧めします。
This program errors out in ...
スペースだけでなくタブ/スペースが混在している可能性がありますか?