newlineの謎 [Edit]

「ActionScript 2.0リファレンスガイド」によれば、newline定数は「キャリッジリターン文字 (¥r) を挿入します」。しかし、これは嘘です。挿入されるのは、改行文字(¥n)です。この点は、「ActionScript 2.0 の学習」の「エスケープ文字について」の解説を、英語版で確認すると理解できます(図001)。

図001■About the escape character
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]をご覧ください。

その他の記事