D: come si verifica l'uguaglianza delle stringhe ma si ignora il caso?
Ho una situazione in cui mi piacerebbe confrontare le stringhe ma ignorare il caso. Il caso è significativo string-equal
e apparentemente insensibile a case-fold-search
:
(string-equal "string" "StrinG") ; => nil
(let ((case-fold-search t))
(string-equal "string" "StrinG")) ; => nil
Potrei sempre preelaborare le stringhe (diciamo, con downcase
) prima di confrontarle:
(string-equal (downcase "string")
(downcase "StrinG")) ; => t
Ma sembra eccessivo fare due chiamate di funzione extra ogni volta. Ho trascurato da qualche parte la relativa funzione predicata?