ProcessingのText Areaにはビルド時のエラーや警告、例外が表示されますが、任意の文字列を表示することができます。これを利用すると、ログなどを出力して処理状況を把握することができます。
文字列
文字列の表現
ソースコードの中では文字列はダブルクォート( " )
で括くって表現します。例えば
"Hello Processing!"
と記述したりします。ダブルクォート( " )
の中は自由に変更しても問題はありませんが、文字列中のダブルクォートには注意が必要です。例えば
"ダブルクォート( " )"
これでは文字列として扱われるのは"ダブルクォート( "
までとなり、残りの )"
はプログラムの一部と扱われます。この問題を回避する方法は、文字列の一部としたいダブルクォートの前にエスケープシーケンスという記号を追加します。
エスケープシーケンスは日本語環境では¥
、英語環境では\
で表現されます。Mac OS Xでは日本語環境でも\を入力します。エスケープシーケンスを利用して先ほどの例題を表現してみると
"ダブルクォート( ¥" )"
となります。
エスケープシーケンス
エスケープシーケンスはいくつかの使い方があります。以下に代表的なものを挙げます。
記号 | 意味 |
---|---|
¥n | 改行記号 |
¥t | タブ記号 |
¥¥ | 「¥」記号 |
¥” | 「”」記号 |
¥’ | 「’」記号 |
もし、文字列中に改行を入れる必要がある場合は
"ABCD¥nEFGH"
このように表現します。
文字列変数
文字列は変数に格納することができます。String型
で変数を宣言することによって利用が可能です。詳しくはリファレンスを参照してください。
String \ Language (API) \ Processing 2+
http://processing.org/reference/String.html
String str1 = "CCCP"; char data[] = {'C', 'C', 'C', 'P'}; String str2 = new String(data);
上記の例では変数str1,str2両方に"CCCP"
が格納されます。
また、
String str3 = str1
とすると、str1の文字列がstr3にコピーされます。
String str4 = str1 + "XYZ"
このように+
記号で文字列を連結することができます
テキストエリア表示
テキストエリアに文字列を表示するには以下の二つの関数を利用することができます。
- print関数
- println関数
print関数
戻り値 | 関数名 | 引数 |
---|---|---|
void | param(boolean, byte, char, color, int, float, String, Object) |
引数には指定された型でデータを渡すと、テキストエリアに表示することができます。
int ii = 10; float ff = 5.3; print(ii); print("flaot:"+ff); print(ii+ff); print("ii+ff");
以上を実行すると以下のような結果になります。
10flaot:5.315.3ii+ff
以上のように、print関数を実行した順に引数に渡した値をテキストエリアに表示します。また、引数は必ず一つでなければなりません。このため、複雑な表現を出力するときは文字列結合を利用して、引数に渡すことで実現します。
println関数
戻り値 | 関数名 | 引数 |
---|---|---|
void | println | param(boolean, byte, char, color, int, float, String, Object) |
引数には指定された型でデータを渡すと、テキストエリアに表示し改行します。
int ii = 10; float ff = 5.3; println(ii); println("flaot:"+ff); println(ii+ff); println("ii+ff");
以上を実行すると以下のような結果になります。
10 flaot:5.3 15.3 ii+ff
以上のように、println関数を実行すると、必ず改行されます。
おわりに
print関数やprintln関数を利用することで、メッセージをテキストエリアに表示することができました。これらを利用してプログラムの挙動などを監視することができるようになります。