にゃごすwiki

スクリプト関連/2009-6-10

  suquirrelのdofileでenum、const

早速だけど、小ネタ
squirrelで、ソース分割してdofileでインクルードっぽいことをするけど、enumとconstはダメなのね。dofileしたときにコンパイルされて値に置換されてしまうから当たり前といえば当たり前なんだろうけど。インクルードじゃないんだと頭に入れておかないといけないですな。enum、constは普通の変数とかテーブルとして定義するしかないのかなぁ。

inc.nut

enum KEYS {
  A      = 0x0001
  B      = 0x0002
  SELECT = 0x0004
  START  = 0x0008
  RIGHT  = 0x0010
  LEFT   = 0x0020
  UP     = 0x0040
  DOWN   = 0x0080
}
const BG_MAIN = 0x6000000;

test.nut

dofile( "inc.nut" );
print( KEYS.A );    ←エラー
print( BG_MAIN );    ←エラー

 スクリプト関連

なぜかDSでスクリプトを結構かいているので、その時に気づいたことなんか書き留めておこうかと。まぁ、ネタの補強ってやつやね。