「ActionScript 2.0リファレンスガイド」によれば、newline定数は「キャリッジリターン文字 (¥r) を挿入します」。しかし、これは嘘です。挿入されるのは、改行文字(¥n)です。この点は、「ActionScript 2.0 の学習」の「エスケープ文字について」の解説を、英語版で確認すると理解できます(図001)。
図001■About the escape character
「改行文字」は英語で"newline character"といい、"¥n"の"n"はおそらく"newline"の頭文字を取ったものです。
これだけなら「謎」でも何でもありません。では、以下のフレームアクション(スクリプト001)を実行してみましょう。
スクリプト001■ふたつのnewlineを挿入
var my_str:String = newline;
my_str += ""+newline;
間に空文字列("")を挟んで、newlineをふたつ変数に追加しただけです。ところが、[ムービープレビュー」で、[変数のリストアップ]([デバッグ]メニュー)を行うと、つぎのような[出力]が表示されます。
// [デバッグ] > [変数のリストアップ]:
変数 _level0.my_str = "¥n¥r"
最初のnewlineは"¥n"と認識されているのに、ふたつ目が"¥r"に変わってしまっています。newlineの前に変数でなく、文字列や数値を直接加算演算子+で連結すると、"¥r"に変換されてしまうようなのです。もう少し細かい内容については、「newline定数」の注[*3]をご覧ください。