プチコンの雑学
原則「プチコン3号」の情報。BIGは互換性があるが、4では異なる場合あり。
短縮技法
色コード
RGB(255,255,255) = &HFFFFFFFF = -1
RGB(0,0,0,0) = 0
その他、定数リテラルを活用すると短く書ける。
任意の色の指定は&HAARRGGBBで。
そう考えると、静的な色指定にはまったくRGB()は要らない。
RGB()は実行毎に引数を評価するので、なるべく使わないことは負荷軽減(=高速化)のメリットもある。
指数表記
プチコン3号では1.2E9のような指数表記が可能。
小数点の1文字分が惜しい場合、正規化せずに書いても良い。
なお、指数表記された値は、必ず実数型になるため、整数型に変換される場合は負荷が増える(遅くなる)。
挙動
これも定数
「システム変数」を名乗るTRUE/FALSE
「括弧が付くのは関数」の法則上、関数のはずのPI()
この2つはコンパイル時に決められた値に置き換えれられる「定数」
DATA文に記述できること、PI()については、CALL()で呼ぶことができない。という事実をもって確かめることができる。
間違った絶対値
ABS()は絶対値を返す関数である。
負数を渡した場合は正数が返るはずだが、整数型の-2147483648を渡した場合は-2147483648が返る。
整数型では-2147483648から2147483647までしか表現できず、整数型を渡した場合は戻り値も整数型になる仕様のため発生する。
たとえば下記のようなプログラムで確認できる。
VAR N%=-2147483648
PRINT ABS(N%)
どちらかというと基礎知識
エラーメッセージの読み方
エラーの名前 in スロット:行(問題がある命令の名前:問題がある引数の位置)
Out of range in 0:24(LOCATE:2)
このエラーは『スロット0の24行目にあるLOCATEの2番目の引数が範囲外の値である』という意味。
なお、引数の位置は1から数える。したがって LOCATE X,Y,Z
の2番目の引数は Z
ではなく Y
であることに注意。
ファイルシステム関連
ローカルとサーバ上でのファイルサイズの不一致(2023/11/21追加)[Version3.6.3で検証]
ローカルのファイルとサーバにアップロードしたファイルではサイズが異なるが、下記の法則で求められる模様
ファイルのみ:ローカルのサイズ+100バイト
プロジェクト:ローカルのサイズ+含まれるファイルの数×120+108バイト
トップページ