ページ

2016年9月20日火曜日

【Processing】duplicate field エラーとは?

状況


Processingでプログラミング中に、こんなエラーが表示されたことはないでしょうか。

duplicate field ファイル名 変数名

検索してみても英語のサイトが出てきたり...ということで、このエラーについて紹介します。


原因


変数の名前がかぶってしまうことによって発生するエラーです。

対処


エラーが発生している同じ名前の変数のうちのどちらかの変数の名前を変更してください。
またその時は、宣言名の変更と、その変数を用いているところ全ての部分を書き換えてください。(そうしないと、意図しない実行結果になります。)



一言追加


変数名は、状況によって重ねっても良い場合があります。

変数というのは、その変数が使える範囲が決まっています。
これを「変数の有効範囲」や、「変数のスコープ」といいます。
この範囲外では変数を使えないため、もし範囲外に同名の変数があったとしても区別がつきます。
しかし、範囲内に同名の変数があった場合、どちらの変数を指しているのか区別がつかなくなるため、エラーが発生するのです。

では、この範囲はどうやってわかるのかというと、主にかっこ({}など)のなか(ブロックといいます)であると思って良いです。
(正確にはオブジェクト指向のプログラミング言語では異なる場合も多いですし、わざと変えられるプログラミング言語もあります)

詳しくはお使いのプログラミング言語のリファレンスを見てください。
(Processingについては上記の理解で構わないと思います)

0 件のコメント:

コメントを投稿