Ai num
- 構文
- (ai_num value error_msg range)
- 機能
- 数値、エラーメッセージ、範囲値を渡して数値が範囲内であれば、値をそうでなければエラーを返す。
- 引数
-
- value … 値
- error_msg … エラーメッセージ
- range … 範囲値のビット和
- 0 - 数値なら [OK]
- 1 - 正を拒否
- 2 - 負の拒否
- 4 - ゼロを拒否
- 戻り値
- 範囲値なら数値、範囲値外なら "error"タイルにエラーメッセージをセットして nil を返す。
- MEMO :
- サンプル
(ai_num 0.0 "ゼロは無理" 4) (ai_num 0.0 "ゼロ以下は無理" 6) ; 関数の定義は以下のとおり (defun ai_num ( value error_msg range / good_value ) (cond ;; 数値 ((not (setq good_value (distof value))) (set_tile "error" error_msg) nil ) ;; 正数 ((and (= 1 (logand 1 range)) (= (abs good_value) good_value) ) (set_tile "error" error_msg) nil ) ;; ゼロ ((and (= 2 (logand 2 range)) (= 0.0 good_value) ) (set_tile "error" error_msg) nil ) ;; 負数 ((and (= 4 (logand 4 range)) (/= (abs good_value) good_value) ) (set_tile "error" error_msg) nil ) (T good_value) ) )
関連事項
- [[]]
- [[]]