File extension is in extensions list: Difference between revisions

Added Wren
(Added C++ solution)
(Added Wren)
Line 1,893:
MyData_v1.0.bz2 false
 
</pre>
 
=={{header|Wren}}==
{{libheader|Wren-str}}
{{libheader|Wren-fmt}}
<lang ecmascript>import "/str" for Str
import "/fmt" for Fmt
 
var exts = ["zip", "rar", "7z", "gz", "archive", "A##", "tar.bz2"]
 
var tests = [
"MyData.a##", "MyData.tar.Gz", "MyData.gzip" , "MyData.7z.backup",
"MyData...", "MyData", "MyData_v1.0.tar.bz2", "MyData_v1.0.bz2"
]
 
var ucExts = exts.map { |e| "." + Str.upper(e) }
for (test in tests) {
var ucTest = Str.upper(test)
var hasExt = false
var i = 0
for (ext in ucExts) {
hasExt = ucTest.endsWith(ext)
if (hasExt) {
Fmt.print("$-20s $s (extension: $s)", test, hasExt, exts[i])
break
}
i = i + 1
}
if (!hasExt) Fmt.print("$-20s $-5s", test, hasExt)
}</lang>
 
{{out}}
<pre>
MyData.a## true (extension: A##)
MyData.tar.Gz true (extension: gz)
MyData.gzip false
MyData.7z.backup false
MyData... false
MyData false
MyData_v1.0.tar.bz2 true (extension: tar.bz2)
MyData_v1.0.bz2 false
</pre>
 
9,485

edits