忍者ブログ

へぷたなすくろーる

RPGツクールのブログです。イベント講座とRGSS3スクリプト配布をやってます♪

Home > > [PR] Home > 道しるべ > スクリプトエラー撲滅キャンプ(3) SyntaxError

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

スクリプトエラー撲滅キャンプ(3) 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が出たらとにかく見直し、見比べをしましょう。

拍手[2回]

PR
-->
Responses0 Responses
  • お名前
  • タイトル
  • メールアドレス
  • URL
  • パスワード

ブログ内検索

アーカイブ

最新コメント

[10/13 深海樹]
[08/02 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]
[07/29 ダイ二ホケンシツ]

プロフィール

バナー

HN:奈々(なな)
RPGツクールVXAceを中心に製作を行っています。 スクリプト、イラスト、ドット絵など広くちょこちょこ手を出していますので、 できる範囲で他のツクーラーさんのお手伝いができたらなと思っています。