我想要一种动态的方式来告诉FORMAT
丢弃输出,具体取决于在实际调用之前设置的某个全局变量。我认为更改t
为nil
应该做交易,但我不满意,因为我将无法FORMAT
在返回的字符串可能与实际返回值混淆的任何时候使用这些调用。
例如:
告诉 FORMAT 在 TERMINAL-IO 上输出(工作正常)
(let ((*the-var* t))
(FORMAT *the-var* "some text")
#|do some other stuff|#)
->"some-text"
->'return-value'
告诉 FORMAT 丢弃输出(工作正常)
(let ((*the-var* nil))
(FORMAT *the-var* "some text")
#|do some other stuff|#)
->'return-value'
告诉 FORMAT 丢弃输出(不能正常工作,因为 FORMAT 的返回字符串可能与可能的返回值混淆)
(let ((*the-var* nil)) ;no return value intended//nil expected
#|do some stuff|#
(FORMAT *the-var* "some text"))
->"some text"
因此,我想知道是否有任何方法可以告诉 FORMAT 放弃输出而不必大惊小怪,例如将*the-var*
变量设置为“/dev/null”-stream或在其周围放置条件子句?