Skip to content

Commit 04fbe87

Browse files
committed
file_size: array
1 parent cf9205b commit 04fbe87

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

+stdlib/file_size.m

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,16 @@
77

88
function s = file_size(p)
99
arguments
10-
p {mustBeTextScalar}
10+
p string
1111
end
1212

13-
s = [];
13+
s = NaN(size(p));
1414

15-
if ~isfile(p)
16-
return
17-
end
15+
i = isfile(p);
1816

19-
d = dir(p);
20-
if ~isempty(d)
21-
s = d.bytes;
22-
end
17+
d = arrayfun(@dir, p(i));
18+
19+
i = i & ~isempty(d);
20+
s(i) = [d.bytes];
2321

2422
end

test/TestFileImpure.m

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ function test_file_size(tc, p_file_size)
2222
tc.verifyGreaterThan(s, 0)
2323
end
2424

25+
function test_file_size_array(tc)
26+
s = stdlib.file_size([mfilename("fullpath") + ".m", "not-exist", fullfile(fileparts(pwd()), "buildfile.m"), tempname()]);
27+
tc.verifyTrue(all([s(1) > 0, isnan(s(2)), s(3) > 0, isnan(s(4))]))
28+
end
29+
2530

2631
function test_null_file(tc)
2732
tc.assumeFalse(ispc)

0 commit comments

Comments
 (0)