エラーメッセージの読み方
エラーの表示にはいくつか種類があります。どこで止まっているかによって、見るべき場所が変わります。
—ERROR— と表示される
出力の送信そのものに失敗したことを表します。コンパイルエラー、時間切れ、戻り値の型が違う場合などに出ます。
エラーのウィンドウを閉じると、コンソールに詳しい内容が表示されます。まずはそちらを読んでください。
undefinedと表示される
戻り値がないことを表します。考えられるのは次の4つです。
- JavaScriptで
returnを書き忘れている - カスタム入力の形式が間違っている
- 計算量が多すぎて途中で止まっている
- ログインの有効期限が切れている
いちばん多いのは return の書き忘れです。ログインは2時間で切れるため、長く開いたままにしていた場合はページを読み込み直してください。
stdoutとは何か
stdoutは標準出力の略で、プログラムがデータを書き出す先を指します。console.log、print、std::cout はいずれもここへ出力します。
Recursionでは、問題に用意された関数の戻り値をstdoutへ直接出しています。それ以外の出力はログとして扱われ、戻り値の後ろに表示されます。コンソールに思ったより多く表示されるのは、このためです。
読み方の順番
エラー文の1行目に種類、その下に発生した場所が出ます。まず種類を読み、次に行番号を見て、その行の前後を確かめてください。