File extension is in extensions list: Difference between revisions
Content added Content deleted
(add Perl) |
(Added Sidef) |
||
Line 733: | Line 733: | ||
extensions.map { _.toLowerCase }.exists { fileName.toLowerCase endsWith _ } |
extensions.map { _.toLowerCase }.exists { fileName.toLowerCase endsWith _ } |
||
}</lang> |
}</lang> |
||
=={{header|Sidef}}== |
|||
{{trans|Perl}} |
|||
<lang ruby>func check_extension(filename, extensions) { |
|||
filename ~~ Regex('\.(' + extensions.map { .escape }.join('|') + ')\z', :i) |
|||
}</lang> |
|||
Testing: |
|||
<lang ruby>var extensions = ['zip', 'rar', '7z', 'gz', 'archive', 'A##', 'tar.bz2'] |
|||
var files = [ |
|||
'MyData.a##', 'MyData.tar.Gz', 'MyData.gzip', 'MyData.7z.backup', |
|||
'MyData...', 'MyData', 'MyData_v1.0.tar.bz2', 'MyData_v1.0.bz2' |
|||
] |
|||
for file in files { |
|||
printf("%-19s - %s\n", file, check_extension(file, extensions)) |
|||
}</lang> |
|||
{{out}} |
|||
<pre> |
|||
MyData.a## - true |
|||
MyData.tar.Gz - true |
|||
MyData.gzip - false |
|||
MyData.7z.backup - false |
|||
MyData... - false |
|||
MyData - false |
|||
MyData_v1.0.tar.bz2 - true |
|||
MyData_v1.0.bz2 - false |
|||
</pre> |
|||
=={{header|Tcl}}== |
=={{header|Tcl}}== |