Capisco che questo è banale con un if, ma esiste un'opzione, like %So %sche interpola zero come nessuna stringa?
Esempio:
(format "%?.el" nil) ; ".el"
(format "%?.el" "beginner") ; "beginner.el"
formatindicatore per questo (utilizzare M-x report-emacs-bugper quello). Il resto di noi si è abituato a utilizzare concatper questo, a volte in combinazione con format(per altre conversioni). Oppure passare un argomento a formattale (if something "foobar" ""), corrispondente formatall'indicatore "%s".
rxmacro in uno scenario del genere. Almeno assicurati di essere regexp-quoteil più appropriato), ma a parte questo se hai un gran numero di forse-stringhe in ELENCO potresti fai sempre qualcosa del genere (apply 'format "%s%s%s%s" (mapcar (lambda (x) (or x "")) LIST)). Naturalmente se la stringa del tuo formato è letteralmente simile "%s%s%s", allora concatha davvero più senso.
interpolationtag richiesto .