スクリプトエラー撲滅キャンプ(3) SyntaxError
スクリプトのエラーが起きた場合の初心者なりに原因と対策を調べる方法~♪
スクリプト導入でエラーが出る人や、手探りで書いてみてエラーが出る人の参考になれば。
あくまで私の知識と経験則に基づいているのと
ツクール始めたての人には流石に難しいかもしれない
という2点は先にお断りしておきますね。
お次はエラー界の風紀委員ことSyntaxError(シンタックスエラー)さんです。
こいつは「スクリプトの文法が間違ってるYO!!!」と主張しています。
正直エラーの中では一番簡単なタイプですね。
単純なミスである上に、エラーメッセージに答えが書いてあるからです。
良くある例を挙げていきます。
endの打ち忘れ
文法はdef~endとif~endで2つendが必要なのでエラーが出ます。
分かり難いケースもありますが、エラーが出たところから
上に一行一行見ていけば何とかなると思います。
稀にコピペしたと思ったら最後の一行が抜けていて……といううっかりも。
初心者が注意すべきは
else~やelsifは上のifやelsifと合わせて1つのendで良い
forやloopにもendが必要、abc if xxxの様な修飾子形式はendが不要など
基本となる文法が分からなければヘルプで確認する(か他のスクリプトを参考にする)こと。
エラーは「end」が足りなくなった時点で発生するため
本当の打ち忘れ箇所より下になることが多いこと。この2つでしょうかね。
カッコの閉じ忘れ
特にユーザー用の初期設定などはレイアウトの都合で
この下に出てる部分をうっかり消してしまうとエラーになります。
(改行すること自体は問題ありません)
$と&、.と,などの間違い
他には全角と半角の違いなども、スクリプトでは大きな違いとなります。
syntaxerrorが出たらとにかく見直し、見比べをしましょう。
スクリプト導入でエラーが出る人や、手探りで書いてみてエラーが出る人の参考になれば。
あくまで私の知識と経験則に基づいているのと
ツクール始めたての人には流石に難しいかもしれない
という2点は先にお断りしておきますね。
お次はエラー界の風紀委員ことSyntaxError(シンタックスエラー)さんです。
スクリプト'どこそこ'の00行目でSyntaxErrorが発生しました。シンタックスエラーというのは構文エラーという意味で
unexpected ○○
こいつは「スクリプトの文法が間違ってるYO!!!」と主張しています。
正直エラーの中では一番簡単なタイプですね。
単純なミスである上に、エラーメッセージに答えが書いてあるからです。
良くある例を挙げていきます。
endの打ち忘れ
def abc例えばこんな場合です。
if xxx
xyz
end
文法はdef~endとif~endで2つendが必要なのでエラーが出ます。
分かり難いケースもありますが、エラーが出たところから
上に一行一行見ていけば何とかなると思います。
稀にコピペしたと思ったら最後の一行が抜けていて……といううっかりも。
初心者が注意すべきは
else~やelsifは上のifやelsifと合わせて1つのendで良い
forやloopにもendが必要、abc if xxxの様な修飾子形式はendが不要など
基本となる文法が分からなければヘルプで確認する(か他のスクリプトを参考にする)こと。
エラーは「end」が足りなくなった時点で発生するため
本当の打ち忘れ箇所より下になることが多いこと。この2つでしょうかね。
カッコの閉じ忘れ
a = b * (c + dこれもありがちなミスです。
a = [1, 2, 3
特にユーザー用の初期設定などはレイアウトの都合で
a = [という様に改行している場合がありますが
]
この下に出てる部分をうっかり消してしまうとエラーになります。
(改行すること自体は問題ありません)
$と&、.と,などの間違い
&game_actors特に初心者は記号の取り違えには注意したいところ。
a = [1. 2]
他には全角と半角の違いなども、スクリプトでは大きな違いとなります。
syntaxerrorが出たらとにかく見直し、見比べをしましょう。
PR
-->