プチコンの雑学

原則「プチコン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バイト

トップページ

inserted by FC2 system