[xyzzy:05856] format
- Subject: [xyzzy:05856] format
- From: YAMAMOTO Taizo <ymtz@xxxxxxxxxxxxxxx>
- X-mailer: Denshin 8 Go V321.2b5
やまもとです。今年もよろしくおねがいします。
format関数を以下のように使用したいのですが、(func 0 "010106")の
場合に、エラーのダイアログが表示されます。
; p が 0 の時は、 'time' とだけ表示して欲しい
; p が 0 以外の時は 'time' と q の値を表示して欲しい
(defun func (p q)
(format nil "time~[~*~:; (~A)~]" p q))
func
(func 0 "010106")
["引数の指定位置が範囲外です"のダイアログ]
(func 1 "010106")
"time (010106)"
control-stringにもうひとつ出力指示を加えると
どちらの場合も期待通りに動作します。
(defun func (p q r)
(format nil "time~[~*~:; (~A)~] ~A" p q r))
(func 0 "010106" " system")
"time system"
(func 1 "010106" " system")
"time (010106) system"
この場合はcontrol-stringの書き方が悪いのでしょうか?>識者
----
YAMAMOTO Taizo / 山本 泰三
mailto:ymtz@xxxxxxxxxxxxxxx
mailto:yamamoto@xxxxxxxxx
http://www1.odn.ne.jp/ymtz/