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)
)
)
関連事項
- [[]]
- [[]]