File extension is in extensions list: Difference between revisions

m (→‎{{header|Perl}}: Fix link: Perl 6 --> Raku)
Line 484:
}
</lang>
 
 
=={{header|Clojure}}==
<lang Clojure>(defn matches-extension [ext s]
(re-find (re-pattern (str "\\." ext "$"))
(clojure.string/lower-case s)))
 
(defn matches-extension-list [ext-list s]
(some #(matches-extension % s) ext-list))</lang>
 
It is assumed that when extensions are "added to the system", they will be "normalized" to the expected (lower) case.
 
<lang Clojure>(defn normalize-extensions [ext-list]
(map clojure.string/lower-case ext-list))</lang>
 
{{out}}
<pre>
(def ext-list ["zip" "rar" "7z" "gz" "archive" "A##" "tar.bz2"])
 
(def exts (normalize-extensions ext-list))
 
(map (partial matches-extension-list exts)
["MyData.a##"
"MyData.tar.Gz"
"MyData.gzip"
"MyData.7z.backup"
"MyData..."
"MyData"
"MyData_v1.0.tar.bz2"
"MyData_v1.0.bz2"])
 
(".a##" ".gz" nil nil nil nil ".tar.bz2" nil)
</pre>
 
=={{header|D}}==
Anonymous user