Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
TASTE
uPython-mirror
Commits
d7aadcfe
Commit
d7aadcfe
authored
Apr 04, 2014
by
Damien George
Browse files
py: Allow dict constructor to take keyword arguments.
parent
36f0ee1a
Changes
1
Hide whitespace changes
Inline
Side-by-side
py/objdict.c
View file @
d7aadcfe
...
...
@@ -32,8 +32,26 @@ STATIC void dict_print(void (*print)(void *env, const char *fmt, ...), void *env
}
STATIC
mp_obj_t
dict_make_new
(
mp_obj_t
type_in
,
uint
n_args
,
uint
n_kw
,
const
mp_obj_t
*
args
)
{
// TODO create from an iterable!
return
mp_obj_new_dict
(
0
);
mp_obj_t
dict
;
switch
(
n_args
)
{
case
0
:
dict
=
mp_obj_new_dict
(
0
);
break
;
case
1
:
// TODO create dict from an iterable!
assert
(
false
);
default:
nlr_jump
(
mp_obj_new_exception_msg_varg
(
&
mp_type_TypeError
,
"dict takes at most 1 argument"
));
}
// add to the new dict any keyword args
for
(
const
mp_obj_t
*
a
=
args
+
n_args
;
n_kw
>
0
;
n_kw
--
,
a
+=
2
)
{
mp_obj_dict_store
(
dict
,
a
[
0
],
a
[
1
]);
}
return
dict
;
}
STATIC
mp_obj_t
dict_unary_op
(
int
op
,
mp_obj_t
self_in
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment