annotate struct2syntax.m @ 304:499653b553b8 feature/beams

copyWithDefault: fixed bug.
author Jonatan Werpers <jonatan@werpers.com>
date Mon, 12 Sep 2016 14:08:06 +0200
parents 54d3ab296ba0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
7
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
1 function str = struct2syntax(s)
40
54d3ab296ba0 Added Dictionary class. Added string conversions for a bunch of types. Deprecated some replaced functions.
Jonatan Werpers <jonatan@werpers.com>
parents: 7
diff changeset
2 warning('Deprecated! Use toString() instead!');
7
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
3 fn = fieldnames(s);
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
4
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
5 if length(fn) == 0
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
6 str = 'struct()';
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
7 return
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
8 end
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
9
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
10 str = sprintf('struct(');
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
11
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
12 for i = 1:length(fn) - 1
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
13 value = s.(fn{i});
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
14 str = [str sprintf('''%s'', %s, ',fn{i}, valueString(value))];
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
15 end
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
16 value = s.(fn{end});
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 str = [str sprintf('''%s'', %s)',fn{end}, valueString(value))];
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 end
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
20 function str = valueString(value)
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
21 if ischar(value)
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
22 str = ['''' value ''''];
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 else
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24 str = num2str(value);
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 end
8add0564ad6a Added functions for converting structs to string representations.
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
26 end